javascript中的regexp:查找字符串中的对象并从找到的对象中获取元素

日哈尔

我在输入字符串中找到了字符串,并从找到的字符串中获取了子字符串:

我输入了字符串:

<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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章