【发布时间】:2014-12-01 06:46:53
【问题描述】:
我想获得正则表达式匹配的结果以及组匹配
输入字符串:
var str= ' application [<!ENTITY % common SYSTEM "../common.ent">\n%common;] <!ENTITY % name PUBLIC "public_ID" "URI">'
正则表达式:
var rg = /<!ENTITY\s+[\%|\&]?\s*(\S+)\s+(PUBLIC|SYSTEM)\s+"([^"]*)"\s*(?:"([^"]*)"\s*)?>/g
申请
str.match(rg)
只产生匹配的字符串:
["<!ENTITY % common SYSTEM "../common.ent">", "<!ENTITY % name PUBLIC "public_ID" "URI">"]
如何获取组匹配结果?
例如,在这种情况下,我期待这样的事情:
[{
matched : "<!ENTITY % common SYSTEM "../common.ent">",
groups : ["common", "SYSTEM", "../common.ent"]
}, {
matched : "<!ENTITY % name PUBLIC "public_ID" "URI">",
groups : ["name", "PUBLIC", "public_ID", "URI"]
}]
编辑: 只是有点想知道 regex101.com 如何 显示此
【问题讨论】:
-
我的回答有帮助吗,还是我遗漏了什么?
标签: javascript regex