[英]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.