【发布时间】:2014-09-12 08:54:04
【问题描述】:
假设文本如下:
some text \( {{my}} \) more text \(some\) text {{my}} more text
some text {{my}} more text some text {{my}} more text
文本包含两个特殊的模式:{{...}}和\(...\),{{...}}模式可以嵌套在文本中的\(...\)模式中。
我的任务是编写一个正则表达式(在 php 中,所以是 PCRE 引擎),它将匹配所有未嵌套在 \(...\) 模式中的 {{..}} 模式。所以对于上面的示例文本,正则表达式应该只返回 3 个 {{...}} 模式,因为第一个模式嵌套在 \(...\) 中。
好吧,找到所有 {{...}} 的模式是 /\{\{(?P<options>.*?)\}\}/g,我在这里有一个 regex101 小提琴:http://regex101.com/r/cQ1tQ4/1
是否可以像我上面描述的那样创建一个模式?
【问题讨论】: