代码之家  ›  专栏  ›  技术社区  ›  Mike

创建正则表达式以搜索字符串

  •  0
  • Mike  · 技术社区  · 11 年前

    我有一个字符串,其中包含格式为{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)\}/"

    1 回复  |  直到 11 年前
        1
  •  5
  •   Tim Pietzcker    11 年前

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

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

    变为:

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