首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XRegExp:“无与伦比”,“但一切似乎都是平衡的

XRegExp:“无与伦比”,“但一切似乎都是平衡的
EN

Stack Overflow用户
提问于 2018-11-06 11:47:21
回答 1查看 178关注 0票数 1

我编写了以下代码:

代码语言:javascript
复制
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,我成功地通过了regex :我已经将regex更新为'<!-- @\[(?<component>[\w+]+)\(*(?<classes>[\w+]+)*\)*\] -->',但是仍然会收到相同的错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-06 11:55:41

我已经更新了我的答复,以满足提供的新信息。

给出您试图捕获的示例,原始正则表达式将不匹配。

下面将匹配[(到组件)和类()之间的任何字符。

W匹配一个单词、数字或下划线。这会让它丢失你的-,字符

希望这能帮上忙。

代码语言:javascript
复制
<!-- @\[(?<component>[\w]*)\((?<classes>.*?)\)*\] -->

@Component(类-警告,高级别)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53171288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档