我编写了以下代码行:
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)] -->
UDPATE:使用Regex101我设法让正则表达式通过:我已经将正则表达式更新为'<!-- @\[(?<component>[\w+]+)\(*(?<classes>[\w+]+)*\)*\] -->'
但是我仍然遇到同样的错误。