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

javascript regex pattern to match words, with custom word boundary

本文关键字:单词 自定义 边界 正则表达式 模式匹配 javascript      更新时间:2023-09-26

我正在尝试使用javascript中的regex来匹配字符串中的单词。

假设字符串是"我有c++作为一种技能"。我现在想计算"c++"子字符串的出现次数。如果字符串是"我有c++测试"或类似的字符串,我不想匹配。所以我需要检查单词的边界,并包括一些特殊的字符,如+和#。

我有以下代码:

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");