2013-05-20 62 views
0

我有一个简单的正则表达式的小问题。匹配部分字符串与正则表达式

我想要一个正则表达式来匹配这个简单的字符串(在一个xml文件中),其中wsse:可以是可选的,特别是像这样的:< wsse:Username>(wsse是可选的)。

你能帮我吗?

在此先感谢您的帮助!

+0

现在的问题是,为什么你想解析XML内容作为字符串返回内的实际用户名? – KaraokeStu

+0

此外,请提供一个XML样本,以及您期望得到的结果 – KaraokeStu

回答

2

这将匹配用户名:

<(?:wsse:)?([^>]+)> 

编辑: 并允许冒号前的任何字符串:

<(?:[^:]+:)?([^>]+)> 
+0

感谢Jerry的回复,但前缀wsse:可能是变量(长度和字符串)。你可以帮我吗? –

+0

这个正则表达式实际上会匹配“:wsse”是否存在。 – KaraokeStu

+0

@ mauro-dev如果你的意思是冒号前的任何内容,试试这个:<(?:[^:] +:)?([^>] +)> – Jerry

0

虽然不是理想的解决方案(如你真的应该使用XML解析器或XSLT解析XML),以下内容将适用于您:

<((wsse:)?Username)>(.*)(</\1>) 

它也将每场比赛返回4组。

3组将从标签

相关问题