5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

はじめに

正規表現をまとめてみました。

正規表現とは?

正規表現とは、一言で言うと文字列の集合体のパターン(共通点)を表現する表記法です。

文字列

文字列とは文字の集合体で順番が決まっているもののことを指します。

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文字

おわりに

おわりです。

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?