我需要提取花括号中的文本,但前提是其中的第一个单词是“允许的”单词。例如以下文本:
awesome text,
a new line {find this braces},
{find some more} in the next line.
Please {dont find} this ones.
在这个简单的例子中,“find”代表一个允许的词
我的尝试:
$pattern = '!{find(.*)}!is';
$matches = array();
preg_match_all( $pattern, $text, $matches, PREG_SET_ORDER );
返回一个奇怪的结果(print_r):
Array
(
[0] => Array
(
[0] => {find this braces},
{find some more} in the next line.
Please {dont find}
[1] => this braces},
{find some more} in the next line.
Please {dont find
)
)
在模式中没有“find”的情况下工作正常(但随后也找到了带有“dont”的那个。
这可能是什么原因?