【问题标题】:How to match word INCLUDING word with hyphens?如何将单词包括单词与连字符匹配?
【发布时间】:2016-05-13 11:55:54
【问题描述】:

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

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

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

【问题讨论】:

  • /\b\w*[-']*\w*\b/?
  • 您可能会使用\b[\w'-]+\b,这两者都可以。
  • @l'L'l 嘿,这就是答案。你能把它作为一个发布吗?

标签: javascript regex


【解决方案1】:

你可以去掉字符类两边的\w*,直接使用:

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

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

【讨论】:

    【解决方案2】:

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

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

    应该匹配:

    • 绝对是
    • 亲爱的-不要
    • 马拉松亚军

    它不会匹配这些非单词:

    • 它的
    • -ing

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-10
      相关资源
      最近更新 更多