给出了这个文字:
hello-world
我可以将它与此正则表达式匹配:
hello\-.+?\b
如果我有这个问题:
hello-world-howyadoing
第二个短划线被认为是一个单词边界,所以匹配结束于'世界'
如何在正则表达式中说“停在下一个单词边界,除非单词边界是破折号”?
这是在.js,顺便说一句。
答案 0 :(得分:3)
我还没有完成JS正则表达式,但我非常确定下划线实际上也包含在单词中,所以正确的集合还包括_
(我不知道下划线是否需要逃过JS)
hello\-[a-zA-Z0-9\-_]*
答案 1 :(得分:2)
这取决于你正在做什么样的东西,但你可能只是指定你感兴趣的单词边界列表
hello\-[a-zA-Z0-9\-]*
可能完成你想要的东西