正则表达式匹配动态数字

时间:2016-01-27 17:15:05

标签: regex

我有以下正则表达式:

Regex expD = new Regex("<ns6:userId>(?result>.*?)</ns6:userId>");

如何处理数字6更改为任何一位数?软件更新后,该号码可能会更改为0-9

我试过\d.但没有运气。

谢谢!

1 个答案:

答案 0 :(得分:1)

如果从字符串构造正则表达式,通常必须转义反斜杠,因此\d将成为\\d

Regex expD = new Regex("<ns\\d:userId>(?result>.*?)</ns\\d:userId>");

您也没有提及任何语言,这在提供代码时至关重要。我会说那是Java,但我无法确定。

此外,(?...)应该是什么? (Debuggex doesn't recognise it。)您的意思是(?:...),即非捕获组吗? 我的猜测是你正在寻找这个:

Regex expD = new Regex("<ns\\d:userId>(?:result>.*?)</ns\\d:userId>");

但是如果你说你试过.并且它没有用,那么要么你正在使用一些与世界其他地方高度不兼容的正则表达式实现,要么你的应用错误。< / p>