Contents
基本的な正規表現
特殊文字とは、「任意の1文字」や「英数字1文字」など、何らかの意味を持った文字のことです。
よく使う特殊文字(メタ文字)一覧
※各特殊文字の具体的な使い方は、正規表現の基本的な使い方を一覧にした(リンク)で説明しています。
特殊文字 | 意味 | 単独で使えるか、ほかの文字と組み合わせて使うか |
\ | 円マークの後ろに文字を組み合わせて、いろんな意味を持たせることができます。環境によって、「バックスラッシュ」か「¥マーク」で表します。 ※日本語入力のPCにおいては、「¥」と「\」は全く同じ意味です。 | 組み合わせる |
. | 「任意の1文字」を表します。 | 単独で使える |
^ | 「行の先頭」を表します。もしくは、[]と組み合わせて否定の意味を持たせることができます。 | 単独で使える |
$ | 「行の末尾」を表します。 | 単独で使える |
[] | 「文字集合」を表します。 | 組み合わせる |
* | 「前の文字を0回以上繰り返す」という意味です。 | 組み合わせる |
+ | 「前の文字を1回以上繰り返す」という意味です。 *との違いは、0回以上か1回以上かの違いです。 | 組み合わせる |
? | 「前の文字を、0回もしくは1回繰り返す」という意味です。 0か1です。2以上はありません。 | 組み合わせる |
| | 「または(or)」を表します。 | 組み合わせる |
() | 2つの意味があります。
| 組み合わせる |
{} | 前の文字を指定回数繰り返したいときに使います。 | 組み合わせる |
本来の意味で使う「エスケープ」
文字をそのまま使いたい場合は、その文字の前に「¥(もしくは\)」を書きます。これを「エスケープ」といいます。
正規表現で足し算の「+」を表現しようとして、「+」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>」