var RegTxt = "$f1$='test' AND f2='test2'";
alert(RegTxt.match(/\'[^\']*'/g))
正确返回匹配,即'test','test 2',但我如何删除匹配中的单引号。
答案 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
现在将包含您需要的数组。