Javascript-正则表达式替换忽略某些特殊字符
我有一根绳子,可以是Javascript-正则表达式替换忽略某些特殊字符,javascript,regex,Javascript,Regex,我有一根绳子,可以是 Samsung Blu-Ray Player Samgung Bluray player Samsung Blu/Ray player 我知道我想找到并替换bluray(稍后:给它某种颜色)。 因此,我想用正则表达式替换这个词。但不知道这种情况下的正则表达式语法。它应该忽略“/”和“”,并找到不区分大小写的字符串。您可以使用 str = str.replace(/samsung blu[^\w]?ray player/gi, 'Samsung Blu Ray player
Samsung Blu-Ray Player
Samgung Bluray player
Samsung Blu/Ray player
我知道我想找到并替换bluray(稍后:给它某种颜色)。
因此,我想用正则表达式替换这个词。但不知道这种情况下的正则表达式语法。它应该忽略“/”和“”,并找到不区分大小写的字符串。您可以使用
str = str.replace(/samsung blu[^\w]?ray player/gi, 'Samsung Blu Ray player')
在哪里
-是任何非单词字符(非字母数字)[^\w]?
使其成为可选的?
-标志表示/gi
lobal搜索和caseg
nsensitivei
var str = "Samsung Blu-Ray Player";
var res = str.replace(/(Blu.*?ray)/gi, '<span style="color:red">$1</span>');
console.log(res);
var str=“三星蓝光播放器”;
var res=str.replace(/(蓝光)/gi,$1');
控制台日志(res);
/\bblu\s*[^\w]?\s*ray\b/gi
\b
这个词的边界比匹配blurayfish
之类的词更保守
\s*
使其对空白不敏感,因此蓝光
将匹配
[^\w]
匹配非单词符号,如-
,?
表示可选
gi
表示所有匹配项,不区分大小写
这是一个更具说明性的页面,旁边有测试用例和解释
您的
blueray
可能遭受的所有可能性是什么?我很抱歉。在B和y之间的所有位置上,应忽略特殊字符。因此正则表达式应该搜索“blura*y”,其中*只能是特殊字符。/\bblue?\s*[^\w]?\s*ray\b/gi
我建议使用蓝光
为什么要过度复制它?span是不必要的。OP想要给比赛上色,这就是为什么它会匹配,我的正则表达式只用于给字符串上色,这意味着蓝光,这是我从OP问题中了解到的:))str=“三星蓝光播放器”呢?更快、更干净:)+1用于你的幽默:),但是str
可能是一个更大的文本,其中的短语会出现多次。