以前preg_match()
はいくつかの特殊文字をブラックリストに登録していました。文字列にそのような特殊文字が含まれている場合は常に、無効な文字を返す必要があります。
$str = "adasdasasd*";
if(preg_match('/^[^~`!@#$%\^&\*\(\)]+$/',$str)) {
echo "valid";
}
else {
echo "invalid";
}
これは無効なを返しますが、これは正しいです。しかし、これまで私はこの否定とかなり混乱していpreg_match
ます。誰かが否定について少なくとも簡単な説明をすることができますかpreg_match()
?また、私が提供した正規表現にはpreg_match()
欠点がありますか?