正規表現のクイックリファレンス

正規表現のクイックリファレンス

正規表現を使っていて、すぐに思い出せない時があるため、最低限のメモとして作成した。

正規表現の基礎

任意の1文字にマッチ   .

直前の文字の1回以上の繰り返し  +

直前の文字の0回以上の繰り返し  *

直前の文字の0個か1個にマッチ  ?

aかbにマッチ  (a|b)

abcかxyzにマッチ  (abc|xyz)

a,b,cいずれか1文字  [abc]

0から9までの1文字  [0-9]

a,b,c以外の1文字  [^abc]

0から5以外の1文字  [^0-5]

aの3回の繰り返しにマッチ  a{3}

aの3回から7回の繰り返しにマッチ  a{3,7}

aの3回以上の繰り返しにマッチ  a{3,}

aの7回以内の繰り返しにマッチ  a{,7}

+を文字としてマッチ  \+

タブ  \t

改行  \n  (下記「OS毎の改行コード」を参照)

行の先頭  ^

行の末尾  $

ひらがな  [ぁ-ん]  (注:小さい

カタカナ  [ァ-ヴ]  (注:小さい

半角カタカナ  [ヲ-゚]

正規表現の省略表記

半角スペース、タブ  \s

半角スペース、タブ以外の文字  \S

数字  \d

数字以外  \D

アルファベット、アンダースコア、数字  \w

アルファベット、アンダースコア、数字以外  \W

正規表現の応用例

特定の文字AAAを含まない行にマッチ  ^(?!.*AAA).*$

特定の文字AAAあるいはBBBを含まない行にマッチ  ^(?!.*(AAA|BBB)).*$

空行にマッチ(Macの場合)  ^\n

言語別の正規表現

オリジナルの正規表現に加え、かつて拡張正規表現と言われた表記も一般化している。Perlでは、+?、*?、?? のような最短一致という考え方も取り入れられた。

省略表記や最短一致は、OS・言語・アプリによってさまざまなケースがある。

OS毎の改行コード ※これが結構重要

改行コードは、Mac、Windows、UNIXで異なっている。

レガシーMac(MacOS 9以前): \r
Mac/UNIX: \n
Windows: \r\n

ちなみに、
\r = CR(キャリッジリターン)
\n = LF(ラインフィード)のこと。

改行コードは結構大切で、ネットワーク上にあるファイルなども様々なOSベースで作成されているので、異なったものが混在しており、さらに1ファイル中にも混在していることも普通にある。

きっと役に立つはず。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください