已关闭,此问题需要更focused。目前不接受答复。
**想改善这个问题吗?**更新问题,使其仅通过editing this post关注一个问题。
3天前关闭。
Improve this question
例如,我有这个字符串:
{% if test %}
random text here
{% case item %}{% when "hello" %}hi{% else %}goodbye{% endcase %}
{% if hello %}text here{% else %}new text{% endif %}
random text here
{% endif %}
{% case item %}{% when "hello" %}hi{% else %}goodbye{% endcase %}
然后使用“preg_match_all”,我会得到这样的结果:
[0] => "{% if test %}random text here{% case item %}{% when "hello" %}hi{% else %}goodbye{% endcase %}{% if hello %}text here{% else %}new text{% endif %}random text here{% endif %}"
[1] => "{% case item %}{% when "hello" %}hi{% else %}goodbye{% endcase %}"
基本上,我只是想得到一组标签。我尝试了不同的组合在正则表达式,但我不能正确的。
1条答案
按热度按时间5lhxktic1#
如果你使用PHP,你可以使用递归
(?R)
来尝试这个正则表达式:它确保它只捕获最外层的、平衡的和封闭的标签,下面是测试用例:https://regex101.com/r/3JbMQC/1