目次
- 正規表現とは
- よく使う正規表現の記号一覧
-
{}
の基本的な使い方と意味 - 正規表現の使用例
正規表現とは
正規表現とは、文字列のパターンを表現する方法のことです。
使いこなせば、データ抽出や検索、置換がとても強力になります。
例えば、
- 「メールアドレスを抽出したい」
- 「半角数字だけをマッチさせたい」
- 「特定の単語を一括で置換したい」
といったときに使います。
よく使う正規表現の記号一覧
記号 | 意味 | 例 | マッチする文字列 |
---|---|---|---|
. |
任意の1文字 | a.c |
abc , axc などにマッチ |
* |
直前の文字が0回以上 | a* |
空文字, a , aa
|
+ |
直前の文字が1回以上 | a+ |
a , aa , aaa
|
? |
直前の文字が0回または1回 | a? |
空文字, a
|
[] |
指定した文字のどれか1文字 | [abc] |
a , b , c
|
[^] |
括弧内以外の文字1つ | [^a] |
a 以外の1文字 |
| |
OR条件 | abc|def |
abc またはdef
|
() |
グループ化 | (ab)+ |
ab , abab , ababab
|
^ |
行の先頭 | ^abc |
abc で始まる行 |
$ |
行の末尾 | abc$ |
abc で終わる行 |
\d |
数字(0~9) | \d\d |
12 , 99
|
\D |
数字以外の文字 | \D+ |
abc , !!
|
\w |
英数字(a-z, A-Z, 0-9, _) | \w+ |
abc123 , word_1
|
\W |
\w 以外の文字 |
\W+ |
!@# , 空白
|
\s |
空白文字(スペース、タブ、改行など) | \s+ |
' ' , \n
|
\S |
空白文字以外 | \S+ |
abc , 123
|
\b |
単語の境界(単語の前後) | \bcat\b |
cat (単独のときのみ) |
\B |
単語の境界以外 | \Bcat\B |
concatenate の中の cat
|
\t |
タブ文字 | \t |
タブ |
\n |
改行(LF) | \n |
改行 |
\r |
改行(CR) | \r |
改行 |
\r\n |
改行(CRLF) | \r\n |
改行 |
\\ |
バックスラッシュそのもの | \\ |
\ |
\. |
ドット(.)を文字として検索 | a\.b |
a.b |
\* |
アスタリスク(*)を文字として検索 | a\*b |
a*b |
\+ |
プラス(+)を文字として検索 | c\+d |
c+d |
\? |
クエスチョン(?)を文字として検索 | h\?i |
h?i |
\[ |
左角かっこ [ を検索 |
\[ |
[ |
\] |
右角かっこ ] を検索 |
\] |
] |
\( |
左丸かっこ ( を検索 |
\( |
( |
\) |
右丸かっこ ) を検索 |
\) |
) |
\| |
パイプ| を文字として検索 |
a\|b |
a|b |
{}
の基本的な使い方と意味
記号 | 意味 | 例 | マッチする文字列 |
---|---|---|---|
{n} |
ちょうど n 回繰り返す | a{3} | aaa(aを3回) |
{n,} |
最低 n 回繰り返す(上限なし) | a{2,} | aa, aaa, aaaa など |
{n,m} |
n 回以上、m 回以下 | a{2,4} | aa, aaa, aaaa(2〜4回) |
正規表現の使用例
マッチさせたい文字列 | 例 | マッチする文字列 |
---|---|---|
電話番号 | (数字2~4桁)-(数字2~4桁)-(数字4桁) | \d{2,4}-\d{2,4}-\d{4} |
メールアドレス | (英数字と記号5~10桁)@gmail.com | ^[\w.%+-]{5,10}@gmail.com$ |