如何添加span标签来包装不在正则表达式中的其他字符串?

时间:2014-02-25 09:19:25

标签: javascript regex

如何添加span标记来包装不在正则表达式中的其他字符串?

// This is english & some <span>中文</span> character <span>字元</span>.

var str = 'This is english & some 中文 character 字元.'

var pattern = new RegExp(/[a-zA-Z0-9 _^!-~-]/);
console.log( pattern.test(str));

1 个答案:

答案 0 :(得分:1)

var str = "This is english & some 中文 character 字元.";
var regex = /([^a-zA-Z0-9 _^!-~-]+)/g;
console.log(str.replace(regex, '<span>$1</span>'));
// This is english & some <span>中文</span> character <span>字元</span>.

我使用了正则表达式进行了以下更改:

  • 通过添加()添加了捕获组,以便可以捕获匹配
  • 然后使用$1
  • 替换使用捕获的组
  • 为全局添加了g标记,表示必须替换所有匹配,而不是仅替换第一个。

您可能对所讨论的正则表达式here感兴趣。