我有一个这样的字符串{!Hello} there, {!World}。我需要匹配{!Hello}并且{!World}我有我的正则表达式
$text = '{!Hello} there, {!World}';
preg_match_all("/\{\!.+\}/",$text,$var);
问题是它从头到尾匹配整个事情。这显然意味着它不是在第一次出现}而是在最后一次出现时停止。我怎样才能匹配那些?
编辑:忘了提到我不能使用 \w+ 因为括号之间的单词可能包含特殊字符。IT 可能类似于{!Email__email@some.domain__IsInvalid}. 我需要匹配这整件事