<分区>
我写了下面一行代码:
XRegExp.exec(data,
XRegExp('<!-- @\[(?<component>[\w+])[\(*(?<classes>[\w+])*\)]*\] -->', 'g'))
如您所见,它正在使用 XRegExp库,以便我可以使用命名组的其他 PCRE 功能。
我收到错误:
syntaxError: Invalid regular expression: /<!-- @[(?<component>[w+])[(*(?<classes>[w+])*)]*] -->/: Unmatched ')'
但是,我不明白不匹配的)
在哪里是。据我所知,所有需要转义的括号都应该是,所有不应该转义的括号都不是。
这是我要匹配的字符串:
<!-- @[NoteBlock(warning)] -->
这些也应该匹配:
<!-- @[NoteBlock(warning, high-level)] -->
<!-- @[NoteBlock] -->
这不应该匹配:
<!-- @[(warning, high-level)] -->
更新:使用 Regex101我已经设法让正则表达式通过:我已经将正则表达式更新为 '<!-- @\[(?<component>[\w+]+)\(*(?<classes>[\w+]+)*\)*\] -->'
但是我仍然遇到同样的错误。