正则表达式替换javascript返回整个值

时间:2013-11-26 17:27:09

标签: javascript regex

我不知道为什么,但我的正则表达式不起作用......

$a = '_test[value][0]';
$b = $a.replace('/val/g','_');

此外,我正在尝试做一些像以下一样复杂的事情:

$b = $a.replace('/\[(.*)\]/g','_');

任何想法?

3 个答案:

答案 0 :(得分:1)

删除正则表达式周围的引号:

$b = $a.replace(/val/g, '_');

答案 1 :(得分:1)

正则表达式不需要引号$b = $a.replace(/val/g,'_');

您使用引号的唯一时间是用jQuery.replace();

替换文字

例如:$b = $a.replace('replace this','with this');

(假设您的代码是基于$的使用的jQuery)

答案 2 :(得分:0)

有两种方法可以创建您尝试使用的Regexp object

  • 来自字符串:

    var regexp = new Regexp('val', 'g');
    
  • 使用Regexp文字:

    var regexp = /val/g;
    

请注意,Regexp文字没有任何引号,因此当您使用'/val/g'替换时,实际上并没有使用正则表达式,您将尝试替换该文字字符串。

所以你只需要删除引号:

$b = $a.replace(/val/g, '_');