正規表現を使用してアプリケーション パス内の "system" フォルダーを見つけ、それを "counters" に置き換えようとしています。しかし、私の正規表現パターンは私に満足していません。アプリのパスを表す文字列は $counterslocation と呼ばれ、次のようになります。
「/var/www/myapp/システム」
最終的に、私はこれで終わりたいと思います:
/var/www/myapp/カウンター
まず、パターンが正しいことを確認するために preg_match を使用しています。次に preg_replace を試してみます。正規表現には次のコードがあります。
$pattern='/(\/[0-9a-z]\/)*(myapp\/)(system)/i';
if (preg_match($pattern,$counterslocation,$matches)) {
var_dump($matches);
}
var_dump() 呼び出しは、次の出力を返します。
配列(4) { [0]=> 文字列(10) "myapp/システム" [1]=> 文字列(0) "" [2]=> 文字列(4) "myapp/" [3]=> 文字列( 6)「システム」
私の質問は、文字列の「myapp」部分に至るまでのすべてを正規表現で返すにはどうすればよいですか? 括弧に入れて最初のグループとしてキャプチャされると思ったのですが...何か間違っているようです。
ありがとう。