0

作为一个例子,我有这个字符串: aaa bbb "aaa bbb ccc" bbb "ddd"

我想匹配 bbb,但前提是它不在使用正则表达式的引号内。

有人有想法吗?

更新

我想我应该更具体一些,我会修改我的例子:

假设我有一个 html 标签,我希望获取一个属性及其值:

<input type="text" id="textbox" myattr="myvalue" name="myattr test" />

我需要匹配单词的 myattr 和 myvalue,但只有当 myattr 没有被引号包围并且 myvalue 绝对是 myattr 的值时。

4

3 回答 3

0

试试这个: "[^b"] (bbb)[^"] " ...

于 2012-07-27T00:51:50.267 回答
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未知(本身是正则表达式),您可以检查引号。)

于 2012-07-27T00:59:19.937 回答
0

为什么你不能只attr('myattr')在你的input元素上使用?

查看示例 jsfiddle

另外,我建议研究以下内容:

当其他人已经准备好代码供您使用时,为什么要重新发明轮子?

于 2012-07-27T01:58:23.053 回答