はじめに
正規表現をまとめてみました。
正規表現とは?
正規表現とは、一言で言うと文字列の集合体のパターン(共通点)を表現する表記法
です。
文字列
文字列とは文字の集合体で順番が決まっているもののことを指します。
abc
drink
This is an apple.
などです。スペースも文字(空文字)として扱われます。
バリデーション
アプリ開発で正規表現の実装を使う時、一番多いのはバリデーションをする時みたいです。バリデーションとは、直訳で検証
と言う意味です。例えば、メールアドレスが正しい構成で入力されているかどうかをチェックすることをバリデーションといいます。
正規表現の例
以下の3単語が一致するかどうかをみていきましょう。
red
black
green
量指定子
記号 | 意味 | 条件例 | 一致する単語 |
---|---|---|---|
* | 直前の要素と0回以上一致 | e* | black, red |
+ | 直前の要素と1回以上一致 | e+ | red, green |
? | 直前の要素と0回または1回一致 | e? | black, red |
{n} | 直前の要素と丁度n回一致 | e{2} | green |
{n,} | 直前の要素とn回以上一致 | e{1,} | red, green |
{n,m} | 直前の要素とn回以上m回以下で一致 | e{2,5} | green |
文字クラス
記号 | 意味 | 条件例 | 一致する単語 |
---|---|---|---|
[] | カッコ内のいずれか一文字 | [abc] | a |
[^] | カッコ内以外の文字n | [^abc] | d |
[a-z] | aからzまでの小文字アルファベットのいずれか1文字(ハイフンを含める場合[-a-z]) | [-c-m] | g |
[A-Z] | AからZまでの大文字アルファベットのいずれか1文字 | [B-Y] | E |
[0-9] | 0から9までの数字のいずれか1文字 | [1-4] | 3 |
() | カッコ内の文字を文字列として認識 | (abc) | abc |
論理演算子との併用
「かつ」は&&
です。「または」は|
です。
[a-z&&[^r]]
のように書く事ができます。この場合、aからzかつrを除くと読む事ができるので、r以外のaからzと言う事ですね。
文字・数字
記号 | 補足 | 意味 |
---|---|---|
. | 任意の一文字(改行以外) | |
\d | Decimal number(10進数)のD | 任意の数字一文字([0-9]に同じ) |
\D | 数字以外の1文字([^0-9]に同じ) | |
\w | wordのw | 英数字1文字([a-zA-Z0-9]に同じ) |
\W | 英数字以外の1文字([^a-zA-Z0-9]に同じ) | |
\s | spaceのs | 空白1文字 |
\S | 空白以外の1文字 | |
\t | tabのt | タブ1文字 |
\T | タブ1文字以外 | |
\n | new lineのn | 改行1文字 |
おわりに
おわりです。