0

我有一个包含 {namespace:name} 格式的变量的字符串我正在尝试创建一个正则表达式来查找字符串中的所有变量。到目前为止,我有以下内容,但它不起作用:

$str = " {user:fname} and the last name = {user:lname}";
var_dump(preg_match_all("/^\{(\w):(\w)\}/", $str, $matches));   
var_dump($matches);

但它没有找到任何标签。变量可以有任何命名空间和名称的单词,但只能是字母,不能有空格。任何帮助,将不胜感激。

更新

我也尝试了以下方法,但没有收到任何结果:"/\{(\w):(\w)\}/"

4

1 回答 1

5

从正则表达式中删除锚点^并允许长度超过一个字符的变量。

/^\{(\w):(\w)\}/

变成:

/\{(\w+):(\w+)\}/
于 2013-09-09T17:33:39.003 回答