作为一个例子,我有这个字符串:aaa bbb" aaa bbb ccc" bbb" ddd"
我想匹配bbb,但前提是它不在引号内使用正则表达式。
有人有想法吗?
更新
我想我应该更具体一点,我会修改我的例子:
假设我有一个html标签,我希望获取一个属性及其值:
<input type="text" id="textbox" myattr="myvalue" name="myattr test" />
我需要匹配“myattr”和“myvalue”这个词,但只有当myattr没有被引号括起来并且myvalue绝对是myattr的值时才会匹配。
答案 0 :(得分:0)
试试这个:“[^ b”] (bbb)[^“] ”......
答案 1 :(得分:0)
匹配引用的段落或bbb
,然后检查你得到了什么。
var s = 'aaa bbb "aaa bbb ccc" bbb "ddd"';
var s = s.replace(/("[^"]*"|bbb)/g, function(m){
if (m == 'bbb') {
return "xxx";
} else {
return m;
}
});
alert(s);
演示:http://jsfiddle.net/Guffa/Q4gB8/
(如果bbb
未知(正则表达式本身),则可以检查引号。)
答案 2 :(得分:0)
为什么不能在attr('myattr')
元素上使用input
?
另外,我建议调查以下内容:
为什么在其他人准备好您可以使用的代码时重新发明轮子?