2

我正在尝试使我发现的一个 JQuery zen 编码插件适应我自己的用途。我遇到的问题之一是代码中的一个错误,例如

a[href="google.com"]

将扩大到

 <a href="google.com" class="com"</a>

代码使用的正则表达式是:

/(\.[\w-]+)/gi

我已经修改了前瞻,看看它前面是否有偶数个括号。

/(\.[\w-]+)(?=([^\]]*\][^\]]*\])*[^\]]*$)/gi

我使用了正则表达式测试器,它似乎可以工作,但是当使用 javascript 时.match(),它返回 ".com" 作为上述字符串中的匹配项。

以下响应解决了有问题的错误,但创建了一个新错误。现在:

a.class[href="google.com"]

没有解决

http://jsfiddle.net/sA9sQ/

编辑: 我接受了下面的答案,因为它让我到达了我需要去的地方。最终的正则表达式结果是/(\.[\w-]+)(?=([^\]]*\][^\]]*\])*[^\]]*\.[\w-]+)/gi

4

1 回答 1

1

尝试将前瞻移到正则表达式的前面,如下所示:

/(?=([^\]]*\][^\]]*\])*[^\]]*$)(\.[\w-]+)/gi
于 2013-01-04T17:17:51.587 回答