【发布时间】:2010-06-19 03:05:23
【问题描述】:
鉴于此文本:
hello-world
我可以用这个正则表达式匹配它:
hello\-.+?\b
关键是如果我有这个:
hello-world-howyadoing
第二个破折号被认为是一个单词边界,所以匹配在“世界”结束
如何在正则表达式中说“在下一个单词边界停止,除非单词边界是破折号”?
这是在 .js 中,顺便说一句。
【问题讨论】:
标签: regex word-boundaries
鉴于此文本:
hello-world
我可以用这个正则表达式匹配它:
hello\-.+?\b
关键是如果我有这个:
hello-world-howyadoing
第二个破折号被认为是一个单词边界,所以匹配在“世界”结束
如何在正则表达式中说“在下一个单词边界停止,除非单词边界是破折号”?
这是在 .js 中,顺便说一句。
【问题讨论】:
标签: regex word-boundaries
我没有做过 JS 正则表达式,但我很确定下划线实际上也包含在单词中,所以正确的集合还包括 _(我不知道下划线是否需要转义JS)
hello\-[a-zA-Z0-9\-_]*
【讨论】:
这取决于你在做什么,但你可能只需要指定你感兴趣的单词边界列表
hello\-[a-zA-Z0-9\-]*
可能会完成你想要的
【讨论】: