登录
首页 >  Golang >  Go问答

分隔字符串使用 Golang 正则表达式

来源:stackoverflow

时间:2024-02-25 09:36:27 293浏览 收藏

欢迎各位小伙伴来到golang学习网,相聚于此都是缘哈哈哈!今天我给大家带来《分隔字符串使用 Golang 正则表达式》,这篇文章主要讲到等等知识,如果你对Golang相关的知识非常感兴趣或者正在自学,都可以关注我,我会持续更新相关文章!当然,有什么建议也欢迎在评论留言提出!一起学习!

问题内容

我有一个字符串,我用 regexp 包分割了该字符串。但是我无法创建我需要的正则表达式。

正则表达式代码行:

v = "@636e0e0eac0bd25cd5df92a3$636e0e49ac0bd25cd5df92a5.result.result[0].code.xTrim()"
r, _ := regexp.Compile(`(@[a-zA-Z0-9]+\$[a-zA-Z0-9]+)(.*)`)
variableParts := r.FindStringSubmatch(v)

变量部分数组:

0: "@636e0e0eac0bd25cd5df92a3$636e0e49ac0bd25cd5df92a5.result.result[0].code.xtrim()"

1:“@636e0e0eac0bd25cd5df92a3$636e0e49ac0bd25cd5df92a5”

2: ".result.result[0].code.xtrim()"

这是我想要的结果:

数组长度可以更改,但数组应包含这 4 个字符串。

0: "@636e0e0eac0bd25cd5df92a3$636e0e49ac0bd25cd5df92a5.result.result[0].code.xtrim()"

1:“@636e0e0eac0bd25cd5df92a3$636e0e49ac0bd25cd5df92a5”

2: ".result.result[0].code.xtrim()"

3:“.xtrim()”

我怎样才能得到这个结果。我需要哪个正则表达式字符串?

更新新的期望结果:

1:“@636e0e0eac0bd25cd5df92a3$636e0e49ac0bd25cd5df92a5”

2: ".result.result[0].code.xtrim()"

3:“.结果”

4:“.结果[0]”

5:“.code”

6:“.xtrim()”


正确答案


您可以将最后一个 (.*) 部分替换为 (.*(\.[^.]*))$ 并使用

(@[a-zA-Z0-9]+\$[a-zA-Z0-9]+)(.*(\.[^.]*))$

请参阅 regex demo详细信息

  • (@[a-za-z0-9]+\$[a-za-z0-9]+) - 第 1 组:一个 @ 字符,然后是一个或多个字母数字字符,然后是一个 # 字符,然后是一个或多个字母数字字符
  • (.*(\.[^.]*)) - 第 2 组:除了换行符之外的尽可能多的任何零个或多个字符,然后第 3 组:.,零个或多个. 字符以外的字符
  • $ - 位于字符串末尾。如果右侧可以有更多文本,请删除。

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《分隔字符串使用 Golang 正则表达式》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>