• 投稿者:
  • 投稿コメント:0件のコメント
  • 投稿カテゴリー:IDE
  • 投稿の最終変更日:2020年6月23日

基本的な正規表現

基本的な正規表現
文字 説明 正規表現の例 マッチする例
. 任意の1文字 にマッチします。 .
+ 直前の文字が 1回以上 繰り返す場合にマッチします。
最長一致。条件に合う最長の部分に一致します。
go+gle gogle
go...gle
* 直前の文字が 0回以上 繰り返す場合にマッチします。
最長一致。条件に合う最長の部分に一致します。
go*gle ggle
go...gle
? 直前の文字が 0個か1個 の場合にマッチします。
最長一致。条件に合う最長の部分に一致します。
go?gle ggle
gogle
+? 直前の文字が 1回以上 繰り返す場合にマッチします。
最短一致。条件に合う最短の部分に一致します。
go+?gle gogle
go...gle
*? 直前の文字が 0回以上 繰り返す場合にマッチします。
最短一致。条件に合う最短の部分に一致します。
go*?gle ggle
go...gle
?? 直前の文字が 0個か1個 の場合にマッチします。
最短一致。条件に合う最短の部分に一致します。
go??gle ggle
gogle
| いずれかの条件 (OR条件) として使われます。 goog(le|ol) google
googol
\ 直後の正規表現記号を エスケープ します。 go\+gle go+gle

[...] 角括弧に含まれるいずれか1文字にマッチします。 [abc]
[a-c]
a, b, c
[^...] 角括弧に含まれる文字以外にマッチします。 [^abc]
[^a-c]
a, b, c
以外の文字
(...) 文字を1つのグループにまとめることができます。 goog(le|ol) google
googol
{n} 直前の文字の桁数を指定できます。 a{3} aaa

{n,} 直前の文字の最小桁数のみ指定できます。 a{3,} aaa
aaaa...
{n,m} 直前の文字の最小桁数と最大桁数を指定できます。
最長一致。条件に合う最長の部分に一致します。
a{3,4} aaa
aaaa
{n,m}? 直前の文字の最小桁数と最大桁数を指定できます。
最短一致。条件に合う最短の部分に一致します。
a{3,4}? aaa
aaaa

定義済みの正規表現

定義済みの正規表現
文字 説明 対応する表現
\t タブ (なし)
\r 改行。CR(Carriage Return:0x0D) (なし)
\n 改行。LF(Line Feed:0x0A) (なし)
\d すべての数字 [0-9]
\D すべての数字以外の文字 [^0-9]
\s 垂直タブ以外のすべての空白文字 [ \t\f\r\n]
\S すべての非空白文字 [^ \t\f\r\n]
\w アルファベット、アンダーバー、数字 [a-zA-Z_0-9]
\W アルファベット、アンダーバー、数字以外の文字 [^a-zA-Z_0-9]
スポンサーリンク

特定の位置関係の正規表現

特定の位置関係の正規表現
文字 説明 正規表現の例 マッチする例
^ 直後の文字が行の 先頭 にある場合にマッチします。 ^google google...
$ 直前の文字が行の 末尾 にある場合にマッチします。 google$ ...google
\< 単語の先頭にマッチします。 \< *google
\> 単語の末尾にマッチします。 \> google*
\b 単語の先頭か末尾にマッチします。 \b *google*
\B 単語の先頭か末尾以外にマッチします。 \B google
\A ファイルの先頭にマッチします。 \A (なし)
\z ファイルの末尾にマッチします。 \z (なし)
\G 直前の一致文字列の末尾にマッチします。 \G (なし)

置換文字列で使える正規表現

置換文字列で使える正規表現
文字 説明
\0 一致した文字列全体に置換します。
\1 ~ \9 一致した文字列の1~9番目に対応する文字列に置換します。
\l 次の1文字を小文字に変換します。
\L...\E 挟まれた文字列を小文字に変換します。
\u 次の1文字を大文字に変換します。
\U...\E 挟まれた文字列を大文字に変換します。
スポンサーリンク

検索したい文字列の例1

検索したい文字列 正規表現
※赤い字がメタ文字、グレーの「\」はエスケープのための「\」
bから始まってkで終わる3桁の文字列 b.k
bから始まってkで終わる2桁以上の文字列 b.*k
bから始まってkで終わる3桁以上の文字列 b.+k
半角数字 \d
半角数字以外 \D
数字列 \d+
4桁の数字 \d{4}
4桁以上の数字 \d{4,}
4桁までの数字(1~4桁の数字) \d{1,4}
4~10桁の数字(最長一致) \d{4,10}
4~10桁の数字(最短一致) \d{4,10}?
桁区切りのカンマ付数字列 \b\d{1,3}(,\d{3})*\b
価格(先頭が「\」の桁区切り付数字列) \\\d{1,3}(,\d{3})*\b
半角英大文字 \u
半角英大文字以外 \U
半角英小文字 \l  (※”l”は小文字のL)
半角英小文字以外 \L
半角英文字 [\u\l]  (※”l”は小文字のL)
半角英字以外 [^\u\l]  (※”l”は小文字のL)
英単語(半角英文字列) \b[\u\l]+\b  (※”l”は小文字のL)
半角英数字 [\u\l\d]  (※”l”は小文字のL)
1桁の奇数 [13579]
奇数 \d*[13579]\b
3から7までの数字 [37]
0-9とA-Fのいずれかの2文字(2桁の16進数) [09AF]{2}

検索したい文字列の例2

検索したい文字列 正規表現
※赤い字がメタ文字、グレーの「\」はエスケープのための「\」
全角数字 []
全角英大文字列 []+
ひらがな []
カタカナ []
半角カタカナ []
漢数字列 [一二三四五六七八九十壱弐参拾百千万萬億兆〇]+
改行 \n
半角スペース \x20
全角スペース   (※□は全角スペース)
タブコード \t
半角スペースかタブコードの繰り返し [\x20\t]+
空白文字 \s
sampleという文字列
(大文字小文字同一視)
(?i)sample
sampleという文字列(samは大小文字同一視、pleは小文字限定) (?i)sam(?-i)ple
amという単語 \bam\b
単語の途中にあるam \Bam\B
whで始まる3文字以上の単語 \b[Ww]h.+?\b
大阪または東京 大阪|東京
大阪府または大阪市 大阪(|)
スポンサーリンク

検索したい文字列の例3

検索したい文字列 正規表現
※赤い字がメタ文字、グレーの「\」はエスケープのための「\」
行頭の○ ^
行頭の半角スペースの連続 ^\x20+
行末の。 $
空白行 ^\n
行全体 ^.*$
郵便番号 (|ZIP:)\d{3}\d{4}
電話番号 0\d{1,4}\d{1,4}\d{4}
携帯電話番号(ハイフンなし) 0[89]0\d{8}
メールアドレス [\w.\]+@[\w\]+\.[\w.\]+
URL(ホームページアドレス) https?://[\w/:%#\$&\?\(\)~\.=\+\]+
日付 \d{4}[/\.年]\d{1,2}[/\.月]\d{1,2}?
見出しタグ開始(h1~h3まで) <[hH][13].*?>
見出しタグ終了(h1~h3まで) </[hH][13]>
sample の中の sam sam(?=ple)
sample か samba の中の sam sam(?=ple|ba)
後ろが「ple」ではない「sam」 sam(?!ple)
sample の中の ple (?<=sam)ple
sample か apple の中の ple (?<=sam|ap)ple
前が「sam」か「ap」以外の 「ple」 (?<!sam|ap)ple

コメントを残す