繁体   English   中英

javascript正则表达式模式来匹配具有自定义单词边界的单词

[英]javascript regex pattern to match words, with custom word boundary

我正在尝试使用javascript中的正则表达式来匹配字符串中的单词。

可以说字符串是“我具有c ++的技能”。 我现在要计算“ c ++”子字符串的出现次数。 如果字符串是“ I have c ++ test”或类似的字符串,我不想匹配。 因此,我需要检查单词边界并包括一些特殊字符,例如+和#。

我有以下代码:

var str = "I have c++ as a skill, but I do not have c++test as a skill";

var regex = new RegExp("(?<![\\w+#])c\\+\\+(?![\\w+#])", "g");

count = (str.match(regex) || []).length; 

console.log(count); 

预期结果为“ 1”。

这在var regex行上失败,并显示以下错误:

SyntaxError: Invalid regular expression: /(?<![\w+#])c\+\+(?![\w+#])/: Invalid group 

我看不到需要进行哪些更改才能使边界正常工作,有人可以帮助我吗?

尝试类似的方法:

var regex = new RegExp("([^\\w#]|^)c\\+\\+(?=[^\\w#]|$)", "g");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM