2011-12-01 95 views
0

我有以下的正則表達式:匹配的多個詞,而不是一個單一的字

private string tokenRegEx = @"\[%RC:(\w+)%\].*?"; 

這是當我在字符串中通過下面它發現它:

[%RC:TEST%] 

然而下面返回false

[%RC:TEST ITEM%] 

我該如何修改正則表達式以允許空格以及整個單詞?

+1

這有助於我怎麼樣? – kalabo

回答

5

您需要將\w模式(僅與alphanum和下劃線相匹配)更改爲更自由的模式。例如,這也將使空白:

private string tokenRegEx = @"\[%RC:((\w|\s)+)%\].*?"; 

當然的「正確」的解決方案需要考慮到,正是你認爲可以接受的輸入端,在這一點上是一種值得商榷的。

+0

非常感謝。只要我被允許接受答案,我會:) – kalabo

1

試試這個:

@"\[%RC:(\w|\s)+%\].*?"; 
1

這將做到這一點,你必須得搭配一個空間。您可以使用一組(),但使用一組[]更便宜

private string tokenRegEx = @"\[%RC:([ \w]+)%\].*?"; 
相關問題