Javascript正则表达式所有字符直到单词

时间:2015-09-24 16:23:21

标签: javascript regex

我有这样的字符串:

blah-ha-ID:
asdf

我希望匹配所有字符,直到最后的-ID:

所以我最初的正则表达式是:

^[^-]+

这一直有效,直到词语开始出现在其中。因此,在上面的示例中,在blah-ha-ID:中,当它应该blah时,它会选择直到blah-ha

所以我尝试这样的事情,我想重复所有不是-ID

的字符
^[^-ID]+

但当然不行。我无法使用捕获,我需要它来排除最终的-ID

更多的解决方法我希望学习如何做到这一点,我记得有一种方法可以重复直到一个单词"在这些角色类中。

2 个答案:

答案 0 :(得分:1)

您可以使用此正则表达式:

/^(.+?)(?=-ID|$)/

这将匹配从开头到文字-ID或行结尾的1个或多个字符。 -ID处于积极的前瞻状态,因此不会匹配。

RegEx Demo

答案 1 :(得分:1)

适用于所有test cases

-ID:

我已经在一行上添加了do { if(wrong) livesRemain--; } while (livesRemain > 0) 的退化情况。