如何在正则表达式中搜索'或'的第二次出现?

时间:2013-08-16 14:42:33

标签: javascript regex

字符串组合:

str_search = adfa odf 'aso'
str_search = do o sfo o'sfsdf'
str_search = sdfosd'sf sd'

到目前为止我做了什么:

if( /\s*\S*["|']\s*\S*["|']$/.test(str_search) ){
alert('at the 2nd quote');
    //replace the string enclosed in quotes with !string!
}//if

第一个区块的字符串组合必须进入第二个区块的条件。因此,ff 不应该进入第二个区块中的条件

str_search = adfa odf 'aso
str_search = do o sfo osfsdf'
str_search = sdfosd'sf sd's

2 个答案:

答案 0 :(得分:0)

嗯,根据您的更新,您似乎可以使用类似这样的内容:

str = "adfa odf 'aso'";

if(/(?:'[^']+'|"[^"]+")$/.test(str)){
    res = str.replace(/(?:'[^']+'|"[^"]+")$/, "!string!");
    alert(res);
}

JSFiddle

答案 1 :(得分:0)

这样的东西可以替换引号中的字符串:

> "a 'asdf'".replace(/'[^']*'/, "replacement");
"a replacement"

用简单的英语:寻找报价,任意数量的非报价字符和另一个报价,并用“替换”替换所有这些。