javascript REGex删除匹配中的单引号

时间:2010-04-06 14:20:51

标签: javascript regex

var RegTxt =  "$f1$='test' AND f2='test2'";
alert(RegTxt.match(/\'[^\']*'/g))

正确返回匹配,即'test','test 2',但我如何删除匹配中的单引号。

4 个答案:

答案 0 :(得分:3)

如果JavaScript支持负面观察,这将非常简单:

/(?<=').*?(?=')/

但不幸的是,它没有。

在这些情况下,我喜欢 ab 使用String.prototype.replace

// btw, RegTxt should start with a lowercase 'r', as per convention
var match = [];
regTxt.replace(/'([^']*)'/g, function($0, $1){
    match.push($1);
});
match; // => ['test', 'test2']

答案 1 :(得分:0)

以下是您问题的粗略解决方案。

var match = RegTxt.match(/\'[^\']*'/g)
match = match.substring(1, match.length - 2);

答案 2 :(得分:0)

琐碎的方法:

RegTxt.replace(/'/g, "")

使用正则表达式:

RegTxt.replace(/\'([^\']*)'/g, "$1")

答案 3 :(得分:-1)

var matches = str.match(regex);
var newMatches = [];
for( i in matches )
{
var word = matches[i];
newMatches.push( word.substring(1,word.length-1))
}

newMatches现在将包含您需要的数组。