正規表現 数値チェック

正規表現の基本はこちらから

正規表現で検索することもあるかもしれませんが、
私がよく利用するのは値のチェックです。

URLかどうか、数値かどうか、メールアドレスかどうか・・・などなど自由に設定できるのが魅力です。
また、改行コードを置き換えたりするにも利用しています。

まずは基本と応用

[パターン]
. 改行文字以外の任意の1文字
$S スペース以外の1文字
$s スペース
$d 数字。[0-9] に同じ。
$D 数字以外の文字。[^0-9] に同じ。
$t タブ
$r リターン(復帰文字)
$n 改行
^ 行の先頭
$ 行の末尾
^ 先頭にマッチ
$ 末尾にマッチ
[繰り返し]
* 直線の文字の0個以上に一致
+ 直前の文字の1個以上の繰り返しに一致
? 直前の文字の0または1文字に一致
[ ] かっこ内の任意の1文字に一致。ハイフン(-)で範囲指定も可能
[^ ] かっこ内の任意の1文字に不一致。ハイフン(-)で範囲指定も可能
{n} 直前の文字のn個の繰り返しに一致
{n,} 直前の文字のn個以上の繰り返しに一致
{,m} 直前の文字のm個以下の繰り返しに一致
{n,m} 直前の文字のn個以上、m個以下の繰り返しに一致

この中で注意しなくてはいけないのは、始まりの^と終わりの$です。
もし入れなければ、パターンを含むものになってしまいます。検索する場合は不要の場合もありますが、
ある値が数値かどうかをチェックする場合には必ず付けましょう。
なければ数値を含むものになってしまい、チェックにはなりません。

数値のチェック

^([1-9][0-9]*|0)$    //正の整数 0,1,2,…10,11,… 
^([1-9][0-9]*)$      //正の整数 0を除く 1,2,…10,11,… 
^(-[1-9][0-9]*|0)$   //負の整数 0,-1,-2,…-10,-11,… 

^ ~ $ 始まりと終わりを意味します。なければ数値を含むものになります。
(パターン1|パターン2)はパターン1もしくはパターン2の場合です。
0を含めない場合は不要です。
分かりやすいように[0-9]としていますが、$dに置き換えても同じです。

タイトルとURLをコピーしました