1. ホーム
  2. php

正規表現を検証するにはどうしたらいいですか?

2023-09-16 22:08:54

質問

PHP で正規表現の有効性をテストしたいのですが、できれば使われる前にテストしたいです。これを行う唯一の方法は、実際に preg_match() を実際に試してみて、それが FALSE ?

有効な正規表現をテストする、よりシンプルで適切な方法はありますか?

どのように解決するのですか?

// This is valid, both opening ( and closing )
var_dump(preg_match('~Valid(Regular)Expression~', '') === false);
// This is invalid, no opening ( for the closing )
var_dump(preg_match('~InvalidRegular)Expression~', '') === false);

ユーザーとして pozs が言ったように、また を入れることを検討してください。 @ をpreg_match()の前に置くことを検討してください。 ( @preg_match() ) をテスト環境で使用すると、警告や通知を防ぐことができます。

RegExp を検証するには、単に null に対して実行します (テストしたいデータを前もって知っておく必要はありません)。 . もしそれが明示的に false を返したら ( === false を返した場合、それは壊れています。それ以外は有効ですが、何もマッチする必要はありません。

だから、独自の RegExp バリデーターを書く必要はない。 無駄な時間だ...。