Javascript - 正则表达式取代忽略一些特殊字符

时间:2014-05-15 07:14:23

标签: javascript regex

我有一个字符串,可以是..

Samsung Blu-Ray Player
Samgung Bluray player
Samsung Blu/Ray player

我知道想找到并替换蓝光(后来:给它一定的颜色)。 因此,我想用正则表达式替换这个词。但在这种情况下不知道正则表达式语法。它应该忽略“/”和“”并找到字符串,不区分大小写。

3 个答案:

答案 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表示所有匹配,不区分大小写。

这是一个更具说明性的页面,包含测试用例和解释。

http://regex101.com/r/gD4xS6