我在输入字符串中找到了字符串,并从找到的字符串中获取了子字符串:
我输入了字符串:
<ipc:infoblock title = 'my title'>\
<ipc:form:period />\
<ipc:form:time-scale />\
<ipc:form:hq />\
<ipc:form:regions />\
<ipc:form:apply />\
</ipc:infoblock>\
我想以以下形式获得结果:
[{'<ipc:form:period />', 'ipc:form:period'},
{{'<ipc:form:time-scale />', 'ipc:form:time-scale'},
...,
{'<ipc:form:apply />', 'ipc:form:apply'}]
我的JavaScript代码:
var res = inputString.match(/<ipc:form:([^\s]+)\s+\/>/gi);
结果:
0: "<ipc:form:period />"
1: "<ipc:form:time-scale />"
2: "<ipc:form:hq />"
3: "<ipc:form:regions />"
4: "<ipc:form:apply />"
但是如何获取上述包含子字符串和元素子字符串的结果的数组(多维数组)?
我不想对找到的字符串使用其他搜索!
看起来/global/g
正则表达式将始终丢弃捕获组。
如果可以访问ES2015环境,可以尝试的一件事是粘性regexp标志:
const re = /(a)[bc]/y
'abac'.match(re) // => ["ab", "a"]
'abac'.match(re) // => ["ac", "a"]
'abac'.match(re) // => null
否则,您将不得不对结果字符串进行第二次搜索。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句