【问题标题】:regex help with word boundaries (need exception)正则表达式帮助单词边界(需要例外)
【发布时间】:2010-06-19 03:05:23
【问题描述】:

鉴于此文本:

hello-world

我可以用这个正则表达式匹配它:

hello\-.+?\b

关键是如果我有这个:

hello-world-howyadoing

第二个破折号被认为是一个单词边界,所以匹配在“世界”结束

如何在正则表达式中说“在下一个单词边界停止,除非单词边界是破折号”?

这是在 .js 中,顺便说一句。

【问题讨论】:

    标签: regex word-boundaries


    【解决方案1】:

    我没有做过 JS 正则表达式,但我很确定下划线实际上也包含在单词中,所以正确的集合还包括 _(我不知道下划线是否需要转义JS)

    hello\-[a-zA-Z0-9\-_]*

    【讨论】:

    • 行得通!几乎和王一样的答案,但我必须给他答案,因为他打败了你。谢谢!
    【解决方案2】:

    这取决于你在做什么,但你可能只需要指定你感兴趣的单词边界列表

    hello\-[a-zA-Z0-9\-]*

    可能会完成你想要的

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-30
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-29
      • 1970-01-01
      相关资源
      最近更新 更多