0

一致することができるphppreg_matchを見つけようとしています

test1test2[...]ではなくtest1test2[...]

そして、test2(...)を$matchとして出力として返します。

私は試した

preg_match('/^[a-zA-Z0-9][\[](.*)[\]]$/i',"test1 test2[...]", $matches);

ただし、両方のケースに一致し、全文を返します。

助けていただければ幸いです。

4

1 に答える 1

2
preg_match('/([a-zA-Z0-9]+[\[][^\]]+[\]])$/i',"test1 test2[...]", $matches);

1つ以上の英数字が表示された+後の注意[a-zA-Z0-9]

(表現全体とその)周辺では、表現全体を捉えることができます。

あなたのコンテンツが周りにあるので、正規表現が欲張りなので最後までキャプチャするので[]に変更.*しました。[^\]]test2[.....] test3[sadsdasdasdad]]

また、使用している$ので、最終的には常に一致するので、それが意図したものかどうかはわかりません。

参考までにご覧ください。

于 2009-11-19T01:21:31.627 に答える