我有一个字符串,它可以是..
Samsung Blu-Ray Player
Samgung Bluray player
Samsung Blu/Ray player我知道我想找到并替换bluray (稍后:给它一个特定的颜色)。因此,我想用正则表达式替换这个单词。但是对这种情况下的正则表达式语法一无所知。它应该忽略"/“和”“,并找到不区分大小写的字符串。
发布于 2014-05-15 15:19:33
试试这个:
var str = "Samsung Blu-Ray Player";
var res = str.replace(/(Blu.*?ray)/gi, '<span style="color:red">$1</span>');
console.log(res);发布于 2014-05-15 15:17:02
可以使用以下命令替换该字符串
str = str.replace(/samsung blu[^\w]?ray player/gi, 'Samsung Blu Ray player')哪里
[^\w]? -是任何非单词字符(non alphanumeric)/gi -标志表示g全局搜索和caseinsensitive发布于 2014-05-15 15:26:46
/\bblu\s*[^\w]?\s*ray\b/gi
与匹配的blurayfish相比,单词\b给了它更多的保守性
\s*使其不区分空格,因此blu - ray将匹配
[^\w]匹配像-这样的非单词符号,?表示可选
gi表示所有匹配,不区分大小写。
这是一个更具说明性的页面,旁边有测试用例和解释。
http://regex101.com/r/gD4xS6
https://stackoverflow.com/questions/23671569
复制相似问题