我有一个字符串,可以是..
Samsung Blu-Ray Player
Samgung Bluray player
Samsung Blu/Ray player
我知道想找到并替换蓝光(后来:给它一定的颜色)。 因此,我想用正则表达式替换这个词。但在这种情况下不知道正则表达式语法。它应该忽略“/”和“”并找到字符串,不区分大小写。
答案 0 :(得分:2)
试试这个:
var str = "Samsung Blu-Ray Player";
var res = str.replace(/(Blu.*?ray)/gi, '<span style="color:red">$1</span>');
console.log(res);
答案 1 :(得分:0)
您可以使用
替换字符串str = str.replace(/samsung blu[^\w]?ray player/gi, 'Samsung Blu Ray player')
其中
[^\w]?
- 是任何非字符(非字母数字)?
使其成为可选/gi
- 这些标志意味着g
小叶搜索和案例i
nsensitive 答案 2 :(得分:0)
/\bblu\s*[^\w]?\s*ray\b/gi
\b
单词边界通过匹配blurayfish
左右来提供更多的保护
\s*
使其对空格不敏感,因此blu - ray
将匹配
[^\w]
匹配-
之类的非字符号,?
表示可选
gi
表示所有匹配,不区分大小写。
这是一个更具说明性的页面,包含测试用例和解释。