gpt4 book ai didi

Javascript/Jquery - 正则表达式中的变量

转载 作者:行者123 更新时间:2023-11-30 10:36:14 25 4
gpt4 key购买 nike

数组 replaceThis 是用户生成的,所以我不能写常量正则表达式规则。
但是我怎样才能创建正则表达式规则呢?
有什么好的解决方案吗?

var replaceThis = new Array();
replaceThis[0] = ':)';
replaceThis[1] = 'XD';
replaceThis[2] = '-.-';
replaceThis[3] = 'hello world';
replaceThis[3] = ' a ';
replaceThis[3] = ' B ';

var message = 'text text :) text text -.- and hello world XD and text a btext B text text';
$.each(replaceThis, function(i)
{
var regex = new RegExp (" ??? ","gi");
message = message.replace(regex,'<span class="blue">'+????+'</span>');
});

$('body').append(message+'<hr/>');

Playground : http://jsfiddle.net/s7b3r/2/

提前致谢!
杰米

最佳答案

Check the working DEMO

您需要转义正则表达式的特殊字符。

String.prototype.escapeRegExp = function() {
return this.replace(/([.*+?^=!:${}()|[\]\/\\])/g, "\\$1");
}

然后像这样使用它:

$.each(replaceThis, function(i, data){
var regex = new RegExp(data.escapeRegExp(),"gi");
message = message.replace(regex, '<span class="blue">$&</span>');
});

关于Javascript/Jquery - 正则表达式中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13899904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com