【问题标题】:How to add hyphen to regex如何在正则表达式中添加连字符
【发布时间】:2012-02-25 15:12:42
【问题描述】:

我遇到过这种模式

(\w+)

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

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

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

【问题讨论】:

  • 请注意,U+002D 是真正的HYPHEN-MINUS,而U+2010 是真正的HYPHEN 字符。

标签: php regex


【解决方案1】:

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

[\w-]

但要小心,如果您添加更多字符进行匹配。连字符减号需要在类中 firstlast 以避免将其解释为范围(或相应地对其进行转义)。

+ 是一个量词,所以它跟在一个记号之后(其中整个字符类是一个记号 [\w 也是如此]):

([\w-]+)

【讨论】:

  • 捕获组非常有用。
  • 如果(\w+) 是完整的正则表达式,那么您不需要组,因为仅匹配就足够了。
猜你喜欢
  • 1970-01-01
  • 2016-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-27
  • 1970-01-01
  • 2020-08-29
相关资源
最近更新 更多