ユーザーが入力した正規表現を検証して、有効かどうかを確認できるようにしたい。filter_var
定数を使用してPHPで最初に見つけたものFILTER_VALIDATE_REGEXP
ですが、オプションに正規表現を渡す必要があるため、それは私が望むことをしませんが、私は何も正規表現していないので、基本的には正規表現の有効性をチェックしています.
しかし、ユーザーが入力した正規表現 (何にも一致しない) を検証するにはどうすればよいかがわかります。
簡単な言葉で検証の例:
$user_inputted_regex = $_POST['regex']; // e.g. /([a-z]+)\..*([0-9]{2})/i
if(is_valid_regex($user_inputted_regex))
{
// The regex was valid
}
else
{
// The regex was invalid
}
検証の例:
/[[0-9]/i // invalid
//(.*)/ // invalid
/(.*)-(.*)-(.*)/ // valid
/([a-z]+)-([0-9_]+)/i // valid