如何添加连字符到正则表达式

时间:2012-02-24 18:22:06

标签: php regex

我遇到过这种模式

(\w+)

http://gskinner.com/RegExr/网站我了解\w =匹配字母数字字符和下划线,+ =匹配上一个令牌1次或更多次(不完全确定这意味着什么)

如何将连字符添加到列表中?

我试过了(\w\-+)但是它不起作用,我没有得到任何匹配......

1 个答案:

答案 0 :(得分:6)

您需要一个由[...]表示的字符类。然后可以在字符类中使用\w,并且可以添加更多字符:

[\w-]

但是要小心,如果你添加更多的字符来匹配。连字符 - 需要在类中 first last ,以避免将其解释为范围(或相应地转义)。

+是一个量词,因此它在一个令牌之后(整个字符类是一个令牌[就像\w]):

([\w-]+)