2016-05-13 54 views
0

我使用下面的正则表达式来连字符匹配的话:如何匹配包含连字符的单词?

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

但是,它并没有连字符匹配的话。我怎样才能把它变成一个正则表达式,也可以匹配没有连字符的单词?

+0

'/ \ B \ W * [ - '] * \ W * \ B /'? – j08691

+0

你可能会使用'\ b [\ w' - ] + \ b',这样做可以。 –

+0

@ l'l l嘿,那就是答案。你能把它作为一个发布吗? – alex

回答

1

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

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

这应与连字号或没有那个字字符至少> =一个字符。

0

这应该与词包括,但连字符还没有结束:

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

应该匹配:

  • ABSO-lutely
  • 蜂蜜 - 不要
  • 亚军运动员

它不会匹配这些非词:

  • -ing
相关问题