【问题标题】:Javascript Regex Not Giving Multiple Results [duplicate]Javascript正则表达式不给出多个结果[重复]
【发布时间】:2017-05-16 08:46:13
【问题描述】:

我正在尝试读取格式为

的字符串
<test>input</test>\n <another>input</another>

我的正则表达式适用于 test 标记的输入,但忽略了 another 标记的输入。如果我将整个正则表达式包装在括号中并使用方括号 {} 指定多少次,那么它只会保存最后一个匹配情况。如何捕获并保存所有匹配案例?

我的正则表达式:

/([\n\s]*<([^>]+)>([^<>]*)<([^>]+)>[\n\s]*){0,}/

比赛结果内容:

<test>input</test>\n <another>input</another>
<another>input</another>
another
input
/input

【问题讨论】:

    标签: javascript regex


    【解决方案1】:

    添加一个g Modifier 以便指定它是全局的(允许多个结果)

    所以将你的正则表达式更改为(注意最后的 g)

    /([\n\s]*<([^>]+)>([^<>]*)<([^>]+)>[\n\s]*){0,}/g
    

    【讨论】:

    • 原来它给了我预期的结果,没有括号和你的建议。我不敢相信它是多么简单。谢谢!
    猜你喜欢
    • 2020-02-20
    • 1970-01-01
    • 2018-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 2011-11-08
    相关资源
    最近更新 更多