スポンサーリンク
テクノロジー

正規表現の基本|よく使う記号の意味と、検索・置換で失敗しない書き方

テキストエディタの検索や置換で役立つ正規表現を、初めての人向けに整理しました。ドットやアスタリスクなどよく使う記号の意味、文字の種類と回数の指定、行頭と行末、郵便番号や日付を探す例、括弧を使った置換、欲張りな一致などのつまずきやすい点と、安全に試す手順までをまとめています。

虫眼鏡と白紙の資料、ノートパソコン

文書の中から電話番号だけを探したい、日付の書き方を一括でそろえたい、行の先頭にある空白を消したい。そんなとき、一つずつ手で直していると時間がかかり、見落としも出てきます。こうした作業を助けてくれるのが、正規表現です。

正規表現は、「数字が三つ続いて、ハイフンがあって、数字が四つ続く」のように、文字の並び方のパターンを記号で表す書き方です。記号が多くて難しそうに見えますが、よく使うものは限られています。ここでは、基本の記号の意味から、回数の指定、検索と置換の例、つまずきやすい点、安全に試す手順までを順に紹介します。

スポンサーリンク

正規表現は「文字の並び方のパターン」

ふだんの検索では、「りんご」と入力すれば「りんご」という文字そのものを探します。正規表現では、これに加えて「どんな数字でもよい」「同じ文字が何回か続く」といった、幅のある条件を指定できます。

正規表現は、多くのテキストエディタの検索・置換機能のほか、表計算ソフトの一部の関数や、プログラミング言語、コマンドラインのツールなどでも使われています。一度覚えると、いろいろな場面で応用できるのが魅力です。

正規表現が役立つ場面(探す、そろえる、取り除く、確かめる)
決まった形の文字列を、まとめて扱える。

まず覚えたい基本の記号

正規表現では、いくつかの記号が特別な意味を持ちます。最初は次の記号を押さえておけば、多くの場面で困りません。

  • .(ドット)… 任意の一文字(改行以外)
  • \d … 数字一文字
  • [abc] … 角括弧の中のどれか一文字
  • [^abc] … 角括弧の中のどれでもない一文字
  • ^ … 行の先頭
  • $ … 行の末尾
  • | … 「または」

たとえば ^第 と書けば、行の先頭にある「第」だけに一致します。[0-9] のように角括弧の中でハイフンを使うと、「0から9までのどれか」という範囲も指定できます。

特別な意味を持つ記号そのものを探したいときは、前にバックスラッシュをつけます。ピリオドそのものを探すなら \. と書きます。日本語の環境では、バックスラッシュが円記号で表示されることもありますが、同じ文字として扱われます。

回数を指定する記号

文字がいくつ続くかは、直後に回数の記号をつけて指定します。

  • * … 0回以上
  • + … 1回以上
  • ? … 0回か1回
  • {3} … ちょうど3回
  • {2,4} … 2回から4回

たとえば \d+ は「一けた以上の数字」、\d{3} は「ちょうど三けたの数字」です。https? と書けば、「http」と「https」の両方に一致します。

記号と回数の組み合わせ(何をと何回の比較)
何を、何回、の順に組み立てる。

検索と置換の例

ここでは、よくある例をいくつか紹介します。エディタの検索画面で正規表現の設定をオンにして試してみてください。

  • 郵便番号を探す … \d{3}-\d{4}
  • 行頭の空白を消す … ^\s+ を何もない文字に置換
  • 空の行を探す … ^$
  • 「2026/10/23」のような日付を探す … \d{4}/\d{1,2}/\d{1,2}

置換では、丸括弧 ( ) で囲んだ部分を、置き換え後の文字に呼び出せます。たとえば (\d{4})/(\d{1,2})/(\d{1,2}) で検索し、置換後を $1年$2月$3日 とすると、「2026/10/23」が「2026年10月23日」に変わります。括弧の中身を呼び出す書き方は、$1 のほかに \1 を使うソフトもあります。

置換の正規表現を組み立てる手順(1. 一つの例を選ぶ、2. 文字を記号に置き換える、3. 残したい部分を括弧で囲む、4. 検索だけで確かめる、5. 置換を実行する)
少しずつ書き足し、そのつど一致を確かめる。
スポンサーリンク

つまずきやすい点

正規表現でよくある失敗の一つが、欲張りな一致です。* や + は、できるだけ長く一致しようとします。たとえば「「りんご」と「みかん」」という文から 「.*」 で検索すると、最初の「から最後の」までが一つにまとまって一致します。それぞれのかっこの中身だけを取りたいときは、「.*?」 のように ? をつけて、できるだけ短く一致させます。

ほかにも、つまずきやすい点があります。全角の数字が \d に含まれるかどうかは、ソフトによって違います。半角の数字だけを探したいときは、[0-9] と書いておくと確実です。また、. は改行に一致しないのが一般的なので、複数行にまたがる文字列を探すときは、ソフトの設定を確認する必要があります。

正規表現には流派があり、使える記号や置換の書き方がソフトや言語によって少しずつ異なります。ここで紹介した書き方が動かないときは、使っているソフトのヘルプを確認してください。

安全に試すための習慣

正規表現の置換は、一度に何百か所も書き換えられる便利さがある一方で、間違えたときの影響も大きくなります。慣れるまでは、次のような習慣をつけておくと安心です。

元の資料を保管し、練習用の紙を扱う手元
元の資料を残して、サンプルで試す
置換を実行する前の確認(元のファイルのコピーを取ったか、正規表現の設定がオンになっているか、検索で一致する件数を確かめたか、意図しない箇所に一致していないか、最初の数件を一件ずつ置換したか)
検索で確かめてから、置換する。

いきなり本番のファイルで試すのではなく、数行のサンプルの文章を用意して練習するのもよい方法です。正規表現を入力すると一致する部分を色で示してくれる確認用のツールもあるので、仕組みをつかむのに役立ちます。ただし、個人情報や仕事の機密を含む文章は、外部のウェブサービスに貼り付けないようにしましょう。

まとめ

正規表現は、文字の並び方のパターンを記号で表す書き方です。任意の一文字の .、数字の \d、候補の [ ]、行頭と行末の ^ と $、回数の + * {n} を押さえておけば、多くの検索と置換に対応できます。

置換の前にはファイルのコピーを取り、検索だけで一致を確かめる習慣をつけましょう。まずは手元のエディタで正規表現の設定をオンにし、\d+ で文書の中の数字を探してみるところから始めてみてください。

よくある質問

正規表現はプログラミングができないと使えませんか?

いいえ。多くのテキストエディタには、検索や置換の画面に「正規表現を使う」という設定があり、プログラムを書かなくても使えます。まずは手元のエディタで、検索に使うところから始めると身につきやすくなります。

書いた正規表現がエディタによって動かないのはなぜですか?

正規表現にはいくつかの流派があり、使える記号や、置換で括弧の中身を呼び出す書き方が、ソフトや言語によって少しずつ違います。うまく動かないときは、使っているソフトのヘルプで正規表現の書き方を確認しましょう。

正規表現で何でも置き換えて大丈夫ですか?

一度に多くの箇所を書き換えられる反面、意図しない部分まで置き換えてしまうことがあります。置換の前にファイルのコピーを取り、まず検索だけで何件一致するかを確かめてから実行すると安心です。

コメント

まだコメントはありません。最初の感想をどうぞ。

個人情報(本名・住所・電話番号など)やリンクの書き込みはご遠慮ください。内容によっては表示しないことがあります。プライバシーポリシー

スポンサーリンク
  1. 秋の戸口に並ぶかぼちゃの明かりとかぶ、麦束
  2. 資料を手に落ち着いて話し合う二人
  3. ノートパソコンと資料、外付け記憶装置がある机
  4. 冬の木で越冬する卵のうやミノムシ、テントウムシ
  5. 青い折り鶴と三角に折った紙、無地の折り紙