正则表达式帮助单词边界(需要例外)

时间:2010-06-19 03:05:23

标签: regex word-boundaries

给出了这个文字:

hello-world

我可以将它与此正则表达式匹配:

hello\-.+?\b

如果我有这个问题:

hello-world-howyadoing

第二个短划线被认为是一个单词边界,所以匹配结束于'世界'

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

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

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:2)

这取决于你正在做什么样的东西,但你可能只是指定你感兴趣的单词边界列表

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

可能完成你想要的东西