$file = 'my_file_123456789'; $needle = 'my_file_' $pattern = '/' . preg_quote($needle, '/') . '/'; if ( preg_match($pattern, $file) ){ echo 'マッチします。'; }
こんな感じに書いています。
pregmatchのとこで、patterを使っていますがここで完全一致の判定を入れたいんですが変数との共存の書き方が分かりません。
'/' . '\A' . preg_quote($needle, '/') . '\z' . '/';
としてみましたがだめでした。
完全一致であれば、「preg_matchを使わずに、$needle === $fileで済ませる」という方法も考えられます。
preg_matchを使わなければならない理由はどのようなものでしょうか?
そうですね...。
いえ特に。正規表現はpregmatchという倣い的なものと、今後の拡張性も含めて使っていました。
パターンケースをすべて洗い出して整理しないことには抜けが出ます。
できたと思ったらできてなくて同じ質問を繰り返すことになります。
質問前に要件を整理してください。
> 正規表現はpregmatchという倣い的なものと
使う道具は適宜選びましょう。不必要に機能の多い関数を使うのは、バグの要因ともなって好ましくありません。
>不必要に機能の多い関数を使うのは、バグの要因ともなって好ましくありません。
そうですね。ありがとうございます。
回答2件
あなたの回答
tips
プレビュー