記事の要約
- 10進数は^[0-9]+$
- 16進数は^[0-9a-fA-F]+$
- 2進数は^[01]+$
- 8進数は^[0-7]+$
Contents
正規表現の10進数
正規表現の10進数は次のように記載します。
// 10進数の整数が1桁以上あるときの表現
^[0-9]+$
// または
^\d+$
10進数は「0123456789」が使われる文字なため、それを文字クラスで範囲指定する「[0-9]」または同義の「\d」で表現します。先頭を意味する「^」と末尾を意味する「$」は検証したい一部のみが10進数の数値に当てはまっていた場合にヒットするのを許容します。
正規表現の16進数
正規表現の16進数は次のように記載します。
// 16進数の整数が1桁以上あるときの表現
^[0-9a-fA-F]+$
// 英字は小文字のみしか使わない場合
^[0-9a-f]+$
// 英字は大文字のみしか使わない場合
^[0-9A-F]+$
16進数は「0123456789abcdefABCDEF」が使われる文字なため、それを文字クラスで範囲指定する[0-9a-fA-F]とします。
参考:RGBのカラーコードを16進数で表す
RGBのカラーコードを16進数で表すには次のように表現します。
// RGBのカラーコードを6桁の16進数で表す場合
^#[0-9a-fA-F]{6}$
たとえば「#000000」「#FFFFFF」「#123456」などがあるので、16進数を6桁表せるようにかけばOKです。
正規表現の2進数
正規表現の2進数は次のように記載します。
// 2進数の整数が1桁以上あるときの表現
^[01]+$
2進数は「01」が使われる文字なため、それを文字クラスで指定する「[01]」で表現します。
正規表現の8進数
正規表現の8進数は次のように記載します。
// 8進数の整数が1桁以上あるときの表現
^[0-7]+$
8進数は「01234567」が使われる文字なため、それを文字クラスで範囲指定する「[0-7]」で表現します。
先頭末尾を固定・+-を追記する場合
先頭と末尾を固定する場合
たとえば16進数のみの行を探したい場合は、16進数を表す前後に「^」と「$」を追記します。
// 16進数の整数が1桁以上あるときの表現
^[0-9a-fA-F]+$
+-または-の有無を表現する場合
正負の整数をいずれも表現する場合は「[+-]」、負の整数のみを表現する場合は「-?」を追記します。
// +-のいずれかがつく場合の16進数の表現
^[+-][0-9a-fA-F]+$
// -がつくかもしれない場合の16進数の表現
^-?[0-9a-fA-F]+$