この発言見た
$name = ereg_replace("[^A-Za-z0-9.]", "", $name);
[^A-Za-z0-9.]
とはどう違い[A-Za-z0-9.]
ますか?
正規表現に関する私の理解に基づいて、[]
は function の置換に有効なすべての文字を含めるために使用されますereg_replace
。
^
では、に含める目的は何[]
ですか?
ありがとうございました
この発言見た
$name = ereg_replace("[^A-Za-z0-9.]", "", $name);
[^A-Za-z0-9.]
とはどう違い[A-Za-z0-9.]
ますか?
正規表現に関する私の理解に基づいて、[]
は function の置換に有効なすべての文字を含めるために使用されますereg_replace
。
^
では、に含める目的は何[]
ですか?
ありがとうございました
^
文字クラス内のイニシャルは、文字クラス[…]
内で記述されている文字セットを反転します。while[A-Za-z0-9.]
で説明されている文字セットの 1 文字と一致しA-Za-z0-9.
、 で説明[^A-Za-z0-9.]
されている文字の 1 つを除く他のすべての文字と一致しA-Za-z0-9.
ます。これらの他の文字は、文字列が定義されている基本文字セットによって異なります。
そのため、 、、またはの[abc]
いずれかに一致し、、、および以外の任意の文字に一致します。サンプル コードは、 で説明されていない文字をすべて削除します。の文字だけが残ります。a
b
c
[^abc]
a
b
c
[A-Za-z0-9.]
[A-Za-z0-9.]