将正则表达式与#字符匹配

时间:2014-01-09 06:33:22

标签: regex

我正在尝试匹配以下字符串:

style #

我的正则表达式如下:

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

这与我的字符串不匹配。

如果我试试这个正则表达式:

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

它匹配以下字符串:

style n

这让我觉得我错误地使用了#字符。

我做错了什么?

1 个答案:

答案 0 :(得分:4)

问题是\b表示单词边界(正好在一侧有字母/数字/下划线),而你的字符串在#之后没有单词边界(因为它是后面没有字母/数字/下划线)。放下那部分。

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

(而且你实际上也不需要第一个\b,因为上下文保证那里会有一个单词边界。)