正则表达式搜索使用字符串

时间:2012-03-07 11:48:12

标签: javascript jquery

我有一串文字,其中包含所选文字的值。我喜欢在给定的文本div中对此文本执行replace()。

所以我知道我可以用以下方法做到这一点:

myelement.replace(/foo/g, 'bar');

但是我需要用我的字符串来表示:

myelement.replace(/*mystring*/g, 'bar');

所以我试过了:

mystring = '/'+mystring+'/g';
myelement.replace(mystring, 'bar');

哪个不起作用,所以我尝试过(我知道这不起作用):

myelement.replace(/+mystring+/g, 'bar');

那我怎么能这样做呢?

我在jsfiddle为你们编写了一些东西 - > HELP ME PLEASE!

3 个答案:

答案 0 :(得分:2)

http://jsfiddle.net/2rG2V/

更改是使用new RegExp(st, "g")而不是像以前那样创建字符串。 /test/g只是创建RegExp对象的快捷方式。

答案 1 :(得分:0)

只需替换

即可
regSt = '/'+st+'/g';  

regSt = new RegExp(st,'g');

有关regExp http://www.w3schools.com/jsref/jsref_obj_regexp.asp

的更多信息

答案 2 :(得分:0)

eval('myelement.replace(/' + mystring + '/g, "bar");');