【问题标题】:How to capture match group如何捕获匹配组
【发布时间】:2016-02-20 19:32:40
【问题描述】:

给定字符串

"1s func(), 2s func()"

想要的结果

['func()', 'func()']

试过

/[A-z]*\(.*\)/g

很遗憾,只有 1 场比赛 ['func(), 2s func()']

因为 '), 2s func('通过.*

【问题讨论】:

  • 如果您没有 func() 作为示例,我会说 .*? 是要走的路。如果不是语言函数,为什么要有func,如果是,那么这不是解析函数体(..)的方法。
  • 是的,这是为了通过 AngularJs 的 $apply 方法将字符串参数解析为可调用函数。 1s 2s 是功能启动之前的延迟。接受的答案对我有用,但如果你有更好的东西,那么也谢谢:)
  • 不懂 JS,但如果你认为不会有像 func(var1,")",var3) 这样的东西,那就试试吧!
  • 谢谢sln!刚刚测试了你给定的场景。值得庆幸的是,正则表达式仍然可以正常工作。干杯:)
  • 哦,我猜你是指可以注入外国脚本? xD

标签: javascript regex match regex-group


【解决方案1】:
[A-Za-z]*\(.*?\)
            ^^

让它不贪心。

还将字符选择器更改为 [A-Za-z],而不是 [A-z],以避免所有中间 ASCII 字符。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-01
    • 1970-01-01
    • 2013-01-02
    • 2015-10-08
    相关资源
    最近更新 更多