匹配此字符串没有lookbehind - Javascript正则表达式

时间:2016-06-23 16:19:58

标签: javascript regex

我们知道JavaScript不支持后视。我一直在尝试匹配字符串的CC C部分。但是,它也匹配C CC C

正则表达式应仅匹配CC或C.

字符串是 KD IC CC C

当前正则表达式: (\s*((CC)|(C)))+

后视可能是: (\s*((CC)|((?>=\s|^)C)))+

这里的替代方案是什么?我尝试过非捕获组等但没有工作。

因为多次使用带有此正则表达式的函数,所以我没有选择使用其他JavaScript函数。实现它的唯一方法是使用正则表达式。

我也在使用NodeJS的https://www.npmjs.com/package/xregexp。因此,我可以使用其附加功能。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

在这种情况下,您可以使用单词边界来实现您正在寻找的匹配。

var str = 'KD IC CC C';
var found = str.match(/\bcc?\b/gi); // or you can use this: /\bc{1,2}\b/gi

console.log(found);

看起来@procrastinator也在评论中提到了相同的正则表达式。