gabuLog

趣味と考え事をつらつらと

正規表現

概要

記号や文字列を組み合わせて、目的のキーワードを見つけるためのパターンを作り、検出する手段・方法のこと。

記号はメタキャラクタと呼ばれるもので、それぞれの記号にちゃんと意味がある。

この方法を用いることで、多くの文章の中から簡単に見つけいた文字列を検索することが可能。

メタキャラク

検索用メタキャラクタの一覧
メタキャラク 説明 正規表現の例 マッチする例
.

任意の1文字

文字の種類に関係なく1文字に該当

b.k

(bから始まってkで終わる3桁の文字列)

bok

bak

bbk

*

直前のパターンの0回以上繰り返し

(最長一致)

b.*k

(bから始まってkで終わる2桁以上の文字列)

bk

bok

book

+

直前のパターンの1回以上繰り返し

(最長一致)

bo.+k

(bから始まってkで終わる3桁以上の文字列)

bok

book

boook

booooook

?

直前のパターンが0〜1回繰り返し

(最長一致)

bo?k

bok

book

文字列|文字列

|の左右にある文字列のいずれか。

(〜または〜)

大阪|東京

大阪(市|府)

大阪または東京

大阪市または大阪府

[文字列] []の中にある文字列のいずれか1文字。

[ABC]

[A-G]

A、B、Cのいずれかにマッチ

AからGのいずれかにマッチ

[^文字列] [^]の中にある文字列が含まれない1文字

[^ABC]

[^A-G]

A、B、C以外のいずれかにマッチ

AからG以外のいずれかにマッチ

^ 論理行頭 ^◯

◯が行の先頭にある行にマッチ

◯Lineを昨日送ったよ。

Line◯を昨日送ったよ。

Lineを昨日送ったよ。◯

$

論理行末

$。

。が行の末尾にある行にマッチ

Lineを昨日送ったよ。

Lineを昨日送った。よ

。Lineを昨日送ったよ

\ 直後のメタ文字をエスケープする。

\$

\*

\$

$にマッチ。

\n

改行文字

\n →改行

^\n → 空改行

大阪府大阪市<改行>

東京都渋谷区<改行>

<空改行>

京都府宇治市<改行>

\t タブ文字 \t 男芸人        ランキング
\s

空白文字

(半角スペース、\t、\n、\r、\f)

\s  
\S

空白文字

(半角スペース、\t、\n、\r、\f以外全て)

\S  
\d 半角数字

\d → 半角数字

\d{4} → 4桁の数字

(〒|ZIP:)\d{3}-\d{4} → 郵便番号

0[89]0-\d{4}-\d{4} → 電話番号(ハイフン有り)

0[89]0\d{8} → 電話番号(ハイフン無し)

1234567890

1234

〒163-8001

090-0123-4567

08001234567

\D

半角数字以外

(\d以外)

\D あいう年’@
\w 半角英数字とアンダースコア

\w → 半角英数字とアンダースコア

[\w.\-]+@[\w\-]+\.[\w.\-]+ → メールアドレス

https?://[\w/:%#\$&\?\(\)~\.=\+\-]+ →  URL

fatajnadsa fnnjfp_

hatena_blog.G@hatena_blog.ne.jp

https://hatenablog.com/

\W

半角英数字とアンダースコア以外

(\W以外)

\W \w以外
\l 半角英小文字すべて

\l→ 半角英小文字

[\u\l] → 半角英字

[^\u\l] → 半角英字以外

[\u\l\d] → 半角英数字

 

asffewfona

AFNKwfaqTB

123(~~(_{あ亜

oufa802rhr

\L

半角英小文字以外

(\l以外)

\L \l以外
\u 半角英大文字全て

\u → 半角英大文字

[\u\l] → 半角英字

[^\u\l] → 半角英字以外

[\u\l\d] → 半角英数字

AFNSOSBEUTY

AFNKwfaqTB

123(~~(_{あ亜

oufa802rhr

\U

半角英大文字以外

(\u以外)

\U \u以外