【发布时间】:2016-05-17 15:33:39
【问题描述】:
我有一个正则表达式(参见https://regex101.com/r/mB7vQ8/2):
/\[content_box((.*?)!?\])(.*?)\[\/content_box\]/ig
用于匹配文本中的所有[content_box](带有或不带有标签参数),例如:
[content_boxes foo=bar][content_box baz=foo]text[/content_box][/content_boxes]
[content_box]text[/content_box]
[content_box foo=bar]text[/content_box]
我的正则表达式工作,但如果 [content_box] 包含在 [content_boxes] 中,则规则将失败匹配(强):
[content_boxes foo=bar][content_box baz=foo]text[/content_box][/content_boxes]
[content_box]文本[/content_box]
[content_box foo=bar]text[/content_box]
预期的匹配是:
[content_boxes foo=bar][content_box baz=foo]text[/content_box][/content_boxes]
[content_box]文本[/content_box]
[content_box foo=bar]text[/content_box]
在线查看https://regex101.com/r/mB7vQ8/2
如何解决?
【问题讨论】:
-
有一点没看懂。您说
but if [content_boxes] is included in a [content_boxes],但您的示例在[content_boxes]复数中显示了[content_box]单数。是不是打错字了? -
@JorgeCampos 很抱歉这是一个错字...