如何匹配包含连字符的单词?

时间:2016-05-13 02:47:57

标签: javascript regex

我使用以下正则表达式匹配带连字符的单词:

/\b\w*[-']\w*\b/

但是,它不匹配没有连字符的单词。如何将其转换为也匹配没有连字符的单词的正则表达式?

2 个答案:

答案 0 :(得分:1)

您可以消除字符类两边的\w*,只需使用:

/\b[\w'-]+\b/

这应该匹配带有连字符的单词字符或没有连字符至少> =一个字符长。

答案 1 :(得分:0)

这应匹配包含但不以连字符结尾的单词:

/\b\w+([-']\w+)+\b/

它应匹配:

  • ABSO-lutely
  • 蜂蜜不要'吨
  • 亚军-athon

它不匹配这些非单词:

  • 其'
  • 预 -
  • -ing