一般
文字列の先頭と末尾の位置指定には^
と$
ではなく\A
と\z
と用いる。
参考:【PHP】マルチバイト(全角スペース等)対応のtrim処理
- 半角英数記号
[!-~]
ASCII-code
- n文字以上m文字以下
\A(文字){n,m}\z
- patternを含む
(?=.*pattern).*
- patternを含まない
(?!.*pattern).*
- pattern1を含みpattern2を含まない
(?=.*pattern)(?!.*pattern).*
雛形
英数字
- 英文字のみ
[a-zA-Z]
- 英数字
- [0-9a-zA-Z]
\w
はアンダースコアを含むので注意[0-9a-zA-Z_]
正の整数
/\A[1-9][0-9]*\z/
- 01や+1は通らない
/\A\+?[0-9]*[1-9][0-9]*\z/
- +001を通す
/\A\+?0*[1-9]+(,?[0-9]+)*\z/
- 先頭に+を許可、その後0の連続を許可、桁内任意位置のカンマを許可
スペース
- 先頭/末尾の連続するスペース(半角・全角とも)。エスケープ解釈のためダブルクォート
"/\A[\x20\xE3\x80\x80]+|[\x20\xE3\x80\x80]+\z/u"
メールアドレス
- ローカル部は英数字、_、+、-でドットは間に1つずつ、ドメインは英数字、-でドットは間に1つずつ
\A([\w+-]+.?[\w+-]+)+@([\w-]+.?[\w-]+)+\z
コメント
- /*…*/→/\*[\s\S]*?\*/
- 複数行にわたる場合も可