一致することができるphppreg_matchを見つけようとしています
test1test2[...]ではなくtest1test2[...]
そして、test2(...)を$matchとして出力として返します。
私は試した
preg_match('/^[a-zA-Z0-9][\[](.*)[\]]$/i',"test1 test2[...]", $matches);
ただし、両方のケースに一致し、全文を返します。
助けていただければ幸いです。
一致することができるphppreg_matchを見つけようとしています
test1test2[...]ではなくtest1test2[...]
そして、test2(...)を$matchとして出力として返します。
私は試した
preg_match('/^[a-zA-Z0-9][\[](.*)[\]]$/i',"test1 test2[...]", $matches);
ただし、両方のケースに一致し、全文を返します。
助けていただければ幸いです。
preg_match('/([a-zA-Z0-9]+[\[][^\]]+[\]])$/i',"test1 test2[...]", $matches);
1つ以上の英数字が表示された+
後の注意[a-zA-Z0-9]
(
表現全体とその)
周辺では、表現全体を捉えることができます。
あなたのコンテンツが周りにあるので、正規表現が欲張りなので最後までキャプチャするので[]
に変更.*
しました。[^\]]
test2[.....] test3[sadsdasdasdad]
]
また、使用している$
ので、最終的には常に一致するので、それが意図したものかどうかはわかりません。
参考までにご覧ください。