我有一个简单的正则表达式的小问题。匹配部分字符串与正则表达式
我想要一个正则表达式来匹配这个简单的字符串(在一个xml文件中),其中wsse:可以是可选的,特别是像这样的:< wsse:Username>(wsse是可选的)。
你能帮我吗?
在此先感谢您的帮助!
我有一个简单的正则表达式的小问题。匹配部分字符串与正则表达式
我想要一个正则表达式来匹配这个简单的字符串(在一个xml文件中),其中wsse:可以是可选的,特别是像这样的:< wsse:Username>(wsse是可选的)。
你能帮我吗?
在此先感谢您的帮助!
这将匹配用户名:
<(?:wsse:)?([^>]+)>
编辑: 并允许冒号前的任何字符串:
<(?:[^:]+:)?([^>]+)>
感谢Jerry的回复,但前缀wsse:可能是变量(长度和字符串)。你可以帮我吗? –
这个正则表达式实际上会匹配“:wsse”是否存在。 – KaraokeStu
@ mauro-dev如果你的意思是冒号前的任何内容,试试这个:<(?:[^:] +:)?([^>] +)> – Jerry
虽然不是理想的解决方案(如你真的应该使用XML解析器或XSLT解析XML),以下内容将适用于您:
<((wsse:)?Username)>(.*)(</\1>)
它也将每场比赛返回4组。
3组将从标签
现在的问题是,为什么你想解析XML内容作为字符串返回内的实际用户名? – KaraokeStu
此外,请提供一个XML样本,以及您期望得到的结果 – KaraokeStu