【发布时间】:2019-10-11 21:12:18
【问题描述】:
我试图使用正则表达式来匹配两个字符之间的内部文本,但我得到了错误的文本
我尝试将 [A-z]* 而不是 .* 用于仅匹配内部文本并且它有效。但我也需要匹配非字母字符。
/\[?(,? ?\[(\[(.+)-(.+)\])\])\]?/g
这是我的正则表达式,我想匹配方括号之间的字符:
[[[hello-hello]],[[hi-hi]]]
粗体字符是匹配的。
我希望在匹配 1 中匹配 [[[hello-hello]],[[hi-hi]]] 和 [[[hello-hello]],[[hi-hi]]] 在第二场比赛中。
【问题讨论】:
-
将捕获设置为非贪婪 (.+?) 或使用 ([^\]]+)
-
还要注意
[A-z]将consume square brackets。 -
你能添加示例输入和输出吗?
-
@DenisGiffeler 是的,它有效!我可以设置 U 标志或 ?。将您的评论作为答案,我会标记它
标签: javascript regex regex-lookarounds regex-group regex-greedy