繁体   English   中英

分组正则表达式BackReferences

[英]Grouping Regular expression BackReferences

我有以下正则表达式

id=(.*?) | id="(.*?)"

原因是我正在尝试使用JavaScript从浏览器DOM中替换ID。 IE,但是从元素属性中删除引号,因为它似乎不需要DOM中的引号

我的问题是,每个替代语句的反向引用都位于单独的组中($ 1和$ 2),因为匹配项只有一个,或者另一个匹配项可以同时将两个反向引用作为单个反向引用返回吗?

编辑:

<div id="test1" /><div id=test2 />

将匹配如下

    match         |  $1   |   $2
--------------------------------
    id="test1"    | test1 |
    id=test2      |       |  test2

我只希望将两个反向引用都添加到$ 1中

关于什么:

id="?(.*?)"?

(可能是。应该是[^“]-我没有测试过)

id="?([\w-]*)"?

我会用

id\s*=\s*("[^"]*"|'[^']*'|[^\s>]*)

这将匹配

id="foo"
id='bar'
id=baz

但是,要仅检索属性值,如果用引号引起来,则必须在开头/结尾处去除"'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM