代码之家  ›  专栏  ›  技术社区  ›  DA.

关于单词边界的regex帮助(需要例外)

  •  1
  • DA.  · 技术社区  · 14 年前

    鉴于此文本:

    hello-world
    

    我可以将它与这个regex匹配:

    hello\-.+?\b
    

    关键是如果我有这个:

    hello-world-howyadoing
    

    第二个破折号是考虑单词边界,所以比赛以“世界”结束。

    如何在regex中说“除非单词边界是破折号,否则停在下一个单词边界”?

    这里是JS,顺便说一句。

    2 回复  |  直到 14 年前
        1
  •  2
  •   Jamie Wong    14 年前

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

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

    可能实现你想要的

        2
  •  3
  •   Ryan    14 年前

    我还没有做JS regex,但是我很确定下划线实际上也包括在单词中,所以正确的设置还包括 _ (我不知道在JS中是否需要转义下划线)

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

    推荐文章