1

私はこの文字で文字列を使用します:{と}例:

IPアドレスでログイン{ipAdress}

または他の例:

ユーザー名は{userName}でした

今、私は文字列を見つけるために正規表現が必要です、私はこれを試しました:

preg_match_all('/^{(.+)}/', $string, $matches)

しかし、これはそれを見つけられません...誰がここで私を助けることができますか?

4

2 に答える 2

2
preg_match_all('/\{(.+?)\}/', $string, $matches)

{sは正規表現では特別です。あなたはそれらを脱出する必要があります。

さらに、^行の先頭に固定します。あなたのパターンは行の先頭にありません。

最後に、以下のコメントによると、1行にそのような境界のある文字列が複数あるため、貪欲でないバージョンの検索を使用する必要があります.+?

于 2012-05-27T17:30:59.887 に答える
0

preg_match_all('/\{([^}]+)\}/', $string, $matches);

.慎重に使用してください。この場合{[^}]+}、より効率的です。

于 2012-05-27T23:27:06.627 に答える