[英]Golang Split String with Regexp
我有一個字符串,我用正則表達式 package 拆分了該字符串。但是我無法創建我需要的正則表達式。
正則表達式代碼行:
v = "@636e0e0eac0bd25cd5df92a3$636e0e49ac0bd25cd5df92a5.result.result[0].code.xTrim()"
r, _ := regexp.Compile(`(@[a-zA-Z0-9]+\$[a-zA-Z0-9]+)(.*)`)
variableParts := r.FindStringSubmatch(v)
VariablesParts 數組:
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:“.代碼”
6: “.xTrim()”
您可以將最后一個(.*)
部分替換為(.*(\.[^.]*))$
並使用
(@[a-zA-Z0-9]+\$[a-zA-Z0-9]+)(.*(\.[^.]*))$
請參閱正則表達式演示。 詳情:
(@[a-zA-Z0-9]+\$[a-zA-Z0-9]+)
- 第 1 組:一個@
字符,然后是一個或多個字母數字字符,然后是一個#
字符,然后再是一個或多個字母數字字符(.*(\.[^.]*))
- 第 2 組:除換行符以外的任何零個或多個字符盡可能多,然后是第 3 組:a .
, 除 a 以外的零個或多個字符.
字符$
- 在字符串的末尾。 如果右側可以有更多文本,則將其刪除。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.