#目次
①正規表現(Regular Expression)とは
②基本的な正規表現について
③正規表現をまとめたもの
④正規表現を確かめるサイト
##①正規表現(Regular Expression)とは
文字列の集合を特定の記法で表現すること。
##②基本的な正規表現について
. + * [a-z] {3}{3.7} ^ $ について解説する。
※/はデリミタと言われる。このデリミタは#でも表せれれる。
.について
.は任意の1文字にマッチすると言う意味。
例えば,
ca.yであれば、cary, cauy, cakyなどはマッチし、cbuy, famy, cakuなどはマッチしない。
+について
+は前にある文字が1文字以上続く
例えば
cara+の場合(+の前のaが1文字以上)
caraa caraaa caraaaaaaaなどがマッチし、
cara racaaなどがマッチしない
* (アスタリスク)について
- は前にある文字が0文字以上続くという意味
例えば、
cara*の場合、(*の前のaが0文字以上という条件)
cara, caraa, caraaaaaaaaaなどマッチし、carはマッチしない。
について
[]は中にある文字、いずれかにマッチするという意味
例えば、
[abc]の場合、
a,book, catはマッチし、d, egg, jjjなどはマッチしない。
※[a-z]や[0-9]など[]のなかに-をいれると範囲指定ができる。\dは[0-9]は同じ意味。
{n}(ブレース)について
{n}は前にある文字がn文字以上続くと言う意味
例えば、
a{4}だとしたら、faaaatはマッチし、aaaはマッチしない。
{n,m}と記述した場合、n文字以上m文字以下が続くという意味になる。
a{4,7}の場合、
9aaaay,aaaaaaaはマッチし、a, aa, aaaはマッチしない
^(キャレット)と$(ドル)について
^は行頭を$は行末を表す。
※^ は\A で表現でき、$は\zで表現できる
例えば
^My name is [a-z]+$
上記の意味はMから始まる文字列で、a-zで終わる文字列という意味のこと
そのため
My name is caraはマッチし、I'm cara. My name is caraはマッチしない。
③正規表現をまとめたもの
正規表現 | 意味 |
---|---|
/ | 正規表現の開始 |
\A | 文字列の先頭 |
[\w+-.]+ | 英数字、アンダースコア、プラス、ハイフン、ドットのいずれかを少なくとも1文字以上繰り返す |
@ | アットマーク |
[a-z\d-.]+ | 英小文字、数字、ハイフン、ドットのいずれかを少なくとも1文字以上繰り返す |
. | ドット |
[a-z]+ | 英小文字を少なくとも1文字以上繰り返す |
\z | 文字列の末尾 |
/ | 正規表現の終了 |
i | 大文字・小文字を無視するオプション |
※②で説明してない表現もあります
④正規表現を確かめるサイト
https://regex101.com/