正規表現を検証するにはどうしたらいいですか?
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 バリデーターを書く必要はない。 無駄な時間だ...。
関連
-
[解決済み】Laravel 5.2 Storage::makeDirectory($dir) でディレクトリが作成されない。
-
[解決済み】phpのシンタックスエラー、予期しないT_IFエラーを修正する方法は?[クローズド]。
-
[解決済み] JavaScriptでメールアドレスを検証するのに最適な方法は何ですか?
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] XHTMLの自己完結型タグを除くオープンタグにマッチするRegEx
-
[解決済み] \0-9]よりも効率が悪い
-
[解決済み] 正規表現を使用した電話番号の検証方法
-
[解決済み] var_dump の結果を文字列に取り込むにはどうすればよいですか?
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
-
[解決済み】MySQLで正規表現による置換を行うには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】PHP 7.2 - Warning: count(): パラメータは配列かCountableを実装したオブジェクトでなければならない [解決済み]
-
[解決済み】php, mysql - データベースへの接続数が多すぎるエラー
-
[解決済み】XAMPPエラー: www.example.com:443:0 サーバー証明書に、サーバー名と一致するIDが含まれていません。
-
[解決済み】警告:mysql_fetch_array()はパラメータ1がリソースであることを期待、ブール値は[重複]で与えられる]
-
[解決済み】Fatal error: mysqli_result 型のオブジェクトは使用できません [終了] 。
-
[解決済み】mysqli::query(): mysqli をフェッチできない
-
[解決済み】警告: file_get_contents(): https:// ラッパーがサーバー構成ですべて無効になっています。
-
[解決済み] オートロードとは何ですか; spl_autoload、__autoload、spl_autoload_register はどのように使うのですか?
-
[解決済み] 有効な正規表現を検出するための正規表現はありますか?
-
[解決済み] 警告をtry/catchすることはできますか?