2012-02-24 48 views
2

我也遇到过这种模式如何添加连字符正则表达式

(\w+) 

http://gskinner.com/RegExr/网站我的理解是\w =匹配字母数字字符和下划线,并且+ =匹配前面的标识1次以上(不确切地说,这意味着什么)。

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

我试图(\w\-+),但它不工作,我没有得到任何比赛......

+0

注意,U + 002D是真的'HYPHEN-MINUS ',并且U + 2010是真正的'HYPHEN'角色。 – tchrist 2012-02-24 19:09:24

回答

5

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

[\w-] 

小心,如果你添加更多的字符相匹配。连字符减号需要为第一个末尾在一个类中,以避免将其解释为范围(或相应地转义它)。

+是量词,所以它的令牌之后变为(其中整个字符类是单令牌[如\w]):

([\w-]+) 
+0

捕获组可能非常有用。 – summea 2012-02-24 18:27:45

+0

如果'(\ w +)'是完整的正则表达式,那么你不需要一个组,因为单独的匹配就足够了。 – Joey 2012-02-24 18:28:39

+0

谢谢你,那曾经工作过:D – Alex 2012-02-24 18:35:40

相关问题