我有以下正则表达式:
private string tokenRegEx = @"\[%RC:(\w+)%\].*?";
当我传入下面的字符串时,它找到它:
[%RC:TEST%]
但是以下内容返回false
[%RC:TEST ITEM%]
如何修改正则表达式以允许空格和整个单词?
答案 0 :(得分:5)
您需要将\w
模式(仅与alphanum和下划线匹配)更改为更自由的模式。例如,这也允许空格:
private string tokenRegEx = @"\[%RC:((\w|\s)+)%\].*?";
当然,“正确”的解决方案需要准确考虑您认为可接受的输入,此时此类讨论是开放的。
答案 1 :(得分:1)
试试这个:
@"\[%RC:(\w|\s)+%\].*?";
答案 2 :(得分:1)
这样做,你必须匹配一个空间。您使用群组()
但使用集合[]
则更便宜
private string tokenRegEx = @"\[%RC:([ \w]+)%\].*?";