正規表現は文字列の集合を1つの文字列にまとめて表現する方法です.
各種プログラミング言語で検索・置換に用いられています.
目次
- 正規表現
- 文字・文字列
- 反復
- タブ・改行
- 英数
- 位置
- 参照
- 例
正規表現
文字・文字列
項目 |
メタ文字 |
任意の1文字 |
. |
[ ] に含まれる文字から任意の1文字 |
[...] |
[ ] に含まれない文字から任意の1文字 |
[^...] |
char1からchar2までの文字コードから任意の1文字 |
[char1-char2] |
str1またはstr2のいずれかの文字列 |
`(str1 |
反復
項目 |
メタ文字 |
直前のパターンを0回以上反復する |
* |
直前のパターンを1回以上反復する |
+ |
直前のパターンを高々1回反復する |
? |
直前のパターンをnum回反復する |
{num} |
直前のパターンをmin回以上,max回以下反復する |
{min,max} |
直前のパターンをmin回以上反復する |
{min,} |
?
・+
・*
・{n,m}
はいずれも最長一致ですが,?
を後置して??
・+?
・*?
・{n,m}?
とすれば最短一致になります.
タブ・改行
項目 |
メタ文字 |
タブ |
\t |
垂直タブ |
\v |
CR(キャリッジ・リターン) |
\r |
LF(ライン・フィード) |
\n |
CRLF |
\r\n |
英数
項目 |
メタ文字 |
数字 |
\d |
英数・アンダースコア |
\w |
半角英大文字 |
\u |
半角英大文字 |
\l |
(垂直タブを除いた)空白文字 |
\s |
いずれも大文字にすると,「〜でないもの」の意味になります.
例えば,\D
なら数字以外です.
位置
参照
項目 |
メタ文字 |
一致した文字列全体に置換 |
\0 |
一致した文字列の1-9番目にあたる文字列に置換 |
\1 – \9 |
エスケープ |
\ |
例
正規表現の書き方の例です.
項目 |
表現例 |
平仮名 |
[ぁ-ん] |
片仮名 |
[ァ-ヴ] |
半角カナ |
[ヲ-゚] |
英小文字 |
[a-z] |
英大文字 |
[A-Z] |
空白行 |
^\n |
スペースの連続 |
\s+ |
郵便番号 |
\d{3}-\d{4} |
携帯電話 |
0[589]0-\d{4}-\d{4} |