2014-01-09 249 views
2

我試圖匹配以下字符串:正則表達式匹配用#字符

style # 

我的正則表達式如下:

^\s*\b(style #)\b\s*$ 

這不是我的匹配字符串。

如果我試試這個正則表達式:

^\s*\b(style n)\b\s*$ 

它下面的字符串匹配:

style n 

這使我覺得我現在用的是#字符不正確。

我在做什麼錯?

回答

4

問題是\b意味着一個字邊界(在一邊有一個字母/數字/下劃線),並且您的字符串在#之後沒有字邊界(因爲它後面沒有字母/數字/下劃線)。只要放下那部分。

^\s*\b(style #)\s*$ 

(你其實並不需要第一\b,要麼,因爲上下文保證會有個字的邊界在那裏。)