我想使用正则表达式分割字符串
例如:
<event><id>UPDATE_USER_ACCOUNT_SUCCESS_APP</id></event>
我希望能够提取单独的字词 - UPDATE
,USER
,ACCOUNT
,SUCCESS
有人可以帮帮我吗?
先谢谢
答案 0 :(得分:1)
尝试使用bash执行此操作:
read -a arr < <(xmllint --xpath '/event/id/text()' file | tr '_' ' ')
printf '%s\n' ${arr[@]}
答案 1 :(得分:0)
只需使用此正则表达式过滤文字:
>([^<>]+)<
在这里演示:https://regex101.com/r/wM9rX4/1
Python代码:
import re
p = re.compile(ur'>([^<>]+)<')
test_str = u"<event><id>UPDATE_USER_ACCOUNT_SUCCESS_APP</id></event> "
re.search(p, test_str)
然后将其拆分为&#39; _&#39;
import re
p = re.compile(ur'_')
test_str = u"UPDATE_USER_ACCOUNT_SUCCESS_APP"
re.split(p, test_str)
此外,如果您不想使用Python或任何其他编程语言,则可以在文本编辑器中使用这些正则表达式,例如Notepad ++,如果您使用的是Windows。
例如,在Notepad ++中,您可以在激活正则表达式后在替换菜单中使用此正则表达式。
答案 2 :(得分:0)
我找到了获得3组的解决方案:组1 =更新,组2 = USER_ACCOUNT,组3 =成功
([A-Z]+)+_+([A-Z]+)+_+(SUCCESS|FAILURE)+