【发布时间】:2017-04-09 15:19:12
【问题描述】:
给定字符串$str = 'aa {{asd}} bla {{{888 999}} {555} 777 uiii {{-i {{qw{er}}';
需要获取最近的开闭双花括号之间的所有匹配项。
理想的结果:
- asd
- 888 999
- qw{er
如果尝试:preg_match_all('#\{\{(.*?)\}\}#', $str, $matches);
当前输出:
- asd
- {888 999
- -i {{qw{er
不过,这些事件不在 最接近 双大括号之间。
问题是:什么是合适的模式?
【问题讨论】:
-
如果输入包含
{{{a}b}}之类的内容,预期的输出是什么?{a}b或a}b? -
@Rawing - 在这种情况下预期输出:
a}b