基本的な正規表現

特殊文字とは、「任意の1文字」や「英数字1文字」など、何らかの意味を持った文字のことです。

よく使う特殊文字(メタ文字)一覧

※各特殊文字の具体的な使い方は、正規表現の基本的な使い方を一覧にした(リンク)で説明しています。

特殊文字意味単独で使えるか、ほかの文字と組み合わせて使うか
\円マークの後ろに文字を組み合わせて、いろんな意味を持たせることができます。環境によって、「バックスラッシュ」「¥マーク」で表します。
※日本語入力のPCにおいては、「¥」と「\」は全く同じ意味です。
組み合わせる
.「任意の1文字」を表します。単独で使える
^「行の先頭」を表します。もしくは、[]と組み合わせて否定の意味を持たせることができます。単独で使える
$「行の末尾」を表します。単独で使える
[]「文字集合」を表します。組み合わせる
*「前の文字を0回以上繰り返す」という意味です。組み合わせる
+「前の文字を1回以上繰り返す」という意味です。
*との違いは、0回以上か1回以上かの違いです。
組み合わせる
?「前の文字を、0回もしくは1回繰り返す」という意味です。
0か1です。2以上はありません。
組み合わせる
|「または(or)」を表します。組み合わせる
()2つの意味があります。

  • 丸括弧でくくった文字を、1つの文字として表す
  • 丸括弧でくくった正規表現を記憶する
組み合わせる
{}前の文字を指定回数繰り返したいときに使います。組み合わせる

本来の意味で使う「エスケープ」

文字をそのまま使いたい場合は、その文字の前に「¥(もしくは\)」を書きます。これを「エスケープ」といいます。

正規表現で足し算の「+」を表現しようとして、「+」1文字だけ書いても、前の文字を1文字以上繰り返すとみなされてしまいます。そこで「+」記号そのものを表したいときは、「\+」と書きます。

特殊文字を使った、正規表現の表し方の例

特殊文字意味
\d「数字1文字」を表します。
\D「数字でない1文字」を表します。
\s「区切り文字」を表します。区切り文字とは、スペース、タブ、改行などです。
\S「区切り文字でない1文字」を表します。
\w「数字1文字、アルファベット1文字(大文字・小文字)、アンダーバー1文字」を表します。
\W「数字でもアルファベットでもアンダーバーでもないどれか1文字」を表します。
\t「タブ」を表します。
\r\n「改行」を表します。
※改行には、\r、\n、\r\nの3種類ありますが、Wordで普通にEnterを押して改行すると\r\nになるので、代表してこれだけ挙げました。
.
「なんでもいいから1文字」を表します(ただし改行文字は除く)。
^
「行の先頭」を表します。
$
「行の末尾」を表します。
特殊文字の具体的な使い方

サクラエディタでの正規表現の使い方

サクラエディタを始めとするテキストエディタでは、正規表現を用いた単語検索や置換ができます。超簡単に使いこなせる!サクラエディタでの正規表現の使い方

「最長一致」と「最短一致」

「任意の文字の繰り返し」や「条件に当てはまる文字の繰り返し」を正規表現で表すには、「最長一致」と「最短一致」を理解しておく必要があります。正規表現の最長一致と最短一致をどこよりも丁寧に説明します【サンプルあり】

例えば、「<tag1><tag2><tag3><tag4>山田 太郎</tag4></tag3></tag2></tag1>」に対して検索する場合、以下のようになります(赤が正規表現で当てはまる箇所)

  • 「<.+>」と記載:「<tag1><tag2><tag3><tag4>山田 太郎</tag4></tag3></tag2></tag1>
  • <.+?>」と記載:<tag1><tag2><tag3><tag4>山田 太郎</tag4></tag3></tag2></tag1>