【问题标题】:Invalid regular expression: Invalid group无效的正则表达式:无效的组
【发布时间】:2014-12-03 11:48:17
【问题描述】:

我正在尝试编写一个带有负前瞻的正则表达式,以检测以.apk 结尾但不以-unaligned.apk 结尾的文件。在这里。

/(?s)^((?!\-unaligned).)*\.apk$/

但是,当我在 Node(或 Chrome 开发者工具)中使用它时,它会抛出:

SyntaxError: Invalid regular expression: /(?s)^((?!\-unaligned).)*\.apk$/: Invalid group

我已经在Regex101 中使用文件测试列表对其进行了测试,它运行良好,但是在转移到“生产”代码之后,它会抛出类似的错误。

【问题讨论】:

  • (?s) 不是有效的 JavaScript 正则表达式语法。
  • @vks 就是这样。如果你把它写成答案,我会尽快接受 =)
  • @Bergi 谢谢,我在发布后就看到了。 (?!s) 删除了错误,但只匹配了 g。无论如何,vks 是正确的!
  • 为什么要近距离投票和-1?也许如果我知道原因,可以进行改进。
  • 为什么这被否决了?有完全相同的问题,正则表达式工作正常,但快递说不是。

标签: javascript regex node.js regex-lookarounds


【解决方案1】:
^(?:(?!\-unaligned).)*\.apk$

试试这个。删除无用的组。反正不需要它

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-25
    • 1970-01-01
    • 2011-08-09
    • 2013-12-02
    • 1970-01-01
    • 2015-07-08
    • 2018-10-21
    • 1970-01-01
    相关资源
    最近更新 更多