如何使用正则表达式提取令牌值?

huangapple go评论67阅读模式
英文:

How to extract the token value using regex?

问题

在这段代码中,我想要提取令牌值。我尝试了一些方法来提取令牌值,但是得到了以下结果。

结果

token-value"}

原始内容

{"token":"token-value"}

我想要的

token-value

代码

re, err := regexp.Compile(`{"token":["}]`)
	if err != nil {
		log.Fatal(err)
	}
	val = re.ReplaceAllString(val, "")
    return val
英文:

In this code, I am want to extract the token value. I did this to remove the extract the token value but it is giving me the following result.

Result

token-value"}

Original

{"token":"token-value"}

What I want

token-value

Code

re, err := regexp.Compile(`{"token":["}]`)
	if err != nil {
		log.Fatal(err)
	}
	val = re.ReplaceAllString(val, "")
    return val

答案1

得分: 1

为每个结束使用一个替代:

re, err := regexp.Compile(`.*:"|".*`)
if err != nil {
    log.Fatal(err)
}
val = re.ReplaceAllString(val, "")
return val

.*:" 匹配从开头到包括 :" 的所有内容
".* 匹配从引号(从剩余输入中)开始的所有内容
| 在正则表达式中表示“或”(技术上称为“替代”)

英文:

Use an alternation for each end:

re, err := regexp.Compile(`.*:"|".*`)
if err != nil {
    log.Fatal(err)
}
val = re.ReplaceAllString(val, "")
return val

.*:" matches everything up to and including :"
".* matches everything from a quote (from remaining input) onwards
| means or in regex (technically called an alternation)

huangapple
  • 本文由 发表于 2021年9月12日 14:33:25
  • 转载请务必保留本文链接:https://go.coder-hub.com/69149043.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定