2013-03-07 91 views
1
$string = ' prepending string ... "{something wrapped with " quotes } inside of braces}" appending string...'; 
$string .= '"{something "similar again{}}"'; 

我需要匹配包含'"{*}"'这个字符串中的片断与preg_match并且无法找到溶出。preg_replace match不包括字符串

很容易的,我匹配一个突破的标志是这样的:'/([^"]+)/',但它不是有用的的两个标志字符串。 例如,这不起作用:'/"\{([^(\}")]+)\}"/'

可以匹配所有这些切片的迹象对字符串包裹?

回答

0

我想你想使用ungreedy模式在这里:

$pattern = '/"\{(.*)\}"/U'; 

这是我不清楚你是否需要验证"{}"{*}"构造内的存在,才能让比赛发生。如果是这样,让我知道,我会修改答案。

+0

非常感谢,这正是我需要的。我不知道关于不理智的开关。 – palmic 2013-03-08 08:25:49