LoginSignup
0
0

More than 3 years have passed since last update.

正規表現(Regular Expression)について

Posted at

目次

①正規表現(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/

0
0
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
0
0