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

正規表現からアンカーを削除し、^2 文字以上の長さの変数を許可します。

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

になります:

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