1
文字列が小文字またはアンダースコアのみで構成されているかどうか確認したいと思います。 文字列がこの条件を満たしている場合、次のものがtrueを返しますか?これを行うための良い方法はありますか?preg_matchを理解する
preg_match('/[^a-z_]/', $category_address)
ありがとうございます!
文字列が小文字またはアンダースコアのみで構成されているかどうか確認したいと思います。 文字列がこの条件を満たしている場合、次のものがtrueを返しますか?これを行うための良い方法はありますか?preg_matchを理解する
preg_match('/[^a-z_]/', $category_address)
ありがとうございます!
アンカーと+
数量詞を使用する:
preg_match('/\A[a-z_]+\z/', $category_address)
パターンが一致:
\A
を - 文字列の先頭[a-z_]+
から1以上(これは貪欲な量指定+
に)文字文字クラスで定義されています。小文字のASCII文字または_
\z
- 空の文字列が一致する必要がある場合は、文字列の最後には、あまりにも、0回以上の繰り返し定量化されたサブパターンのと一致する*
1で+
数量詞を交換してください。
ありがとうございました。特にこの+修飾子を指摘するために! –
あなたのコードでは、文字やアンダースコア以外の*が含まれているかどうかテストされます。したがって、このテストが成功すると、文字列が有効でないことを意味します。 – Barmar
このテストは、条件がfalseの場合は1を返し、小文字のアスキー文字またはアンダースコアでない最初の文字を検索します。このテストは効率的です(すべての文字列を説明する以上に) –