SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

正規表現入門

正規表現の入門(1)
基礎的なメタ文字

正規表現の基礎的なメタ文字の使い方


  • X ポスト
  • このエントリーをはてなブックマークに追加

ダウンロード SourceCode (6.6 KB)

 正規表現を初めて使う方を対象に、具体的な検索と置換のサンプルを示しつつ、正規表現を解説していきます。第1回はリテラルとメタ文字について説明します。

  • X ポスト
  • このエントリーをはてなブックマークに追加

はじめに

 正規表現を初めて使う方を対象に、具体的な検索と置換のサンプルを示しつつ、正規表現を解説します。

 正規表現は、実行環境によって多少文法が異なりますが、本連載ではEmEditorの正規表現を使って解説していきます。EmEditorの正規表現の文法は、『EmEditor 使い方: 正規表現構文』を参照してください(Perl準拠です)。

 第1回となる本稿では、基礎的なメタ文字について解説します。『使うほどに良さが分かる正規表現』(@IT)や『基礎解説 スマートな文字列処理のための正規表現入門』(@IT)を必要に応じて参照すると学習効率が高いと思います。

対象読者

  • 正規表現をはじめて使う方
  • 詳説 正規表現』を、まだ読んだことがない方

必要な環境

 EmEditor Professional Version 6.00.4で動作確認しました。その他、プログラム言語やSQL、テキストエディタなどでも応用できます。

EmEditorでの正規表現を使う検索の仕方

  • メニューの[検索]-[検索]を選択します([Ctrl]+[F]でも可)。
  • [検索する文字列]に、検索する正規表現を入力します。
  • [正規表現を使用する]をチェックしておきます。
  • [下を検索]を押します。黄緑色が検索にヒットした部分です。
EmEditorでの正規表現を使う検索の仕方
EmEditorでの正規表現を使う検索の仕方

EmEditorでの正規表現を使う置換の仕方

  • メニューの[検索]-[置換]を選択します([Ctrl]+[H]でも可)。
  • [検索する文字列]に、検索する正規表現を入力します。
  • [置換後の文字列]に、置換後の文字列を入力します。
  • [正規表現を使用する]をチェックしておきます。
  • [すべて置換]を押します。
EmEditorでの正規表現を使う置換の仕方(置換前)
EmEditorでの正規表現を使う置換の仕方(置換前)
EmEditorでの正規表現を使う置換の仕方(置換後)
EmEditorでの正規表現を使う置換の仕方(置換後)

1. 正規表現とメタ文字

 正規表現は、メタ文字とリテラルの2つの組み合わせで構成されます。

 リテラルは、その文字自体にマッチします。リテラルのみで構成された正規表現で検索してみましょう(黄緑色が検索にヒットした部分です)。

検索で使う正規表現
AB
検索対象と検索結果
検索対象と検索結果

 メタ文字は、それぞれ特殊な意味を持ちます。メタ文字を使った正規表現で検索してみましょう(ここでは「^」がメタ文字)。

検索で使う正規表現
^AB
検索対象と検索結果
検索対象と検索結果

 先ほどと検索結果が変わりましたね。それでは以降、メタ文字について掘り下げていきます。

2. 行頭

 行の先頭(行頭)にマッチします。メタ文字は^です。たとえば^Aは、行頭にある文字Aにマッチします。

検索で使う正規表現
^A
検索対象と検索結果
検索対象と検索結果

 もう1つのサンプルとして、置換で使用して行頭に指定文字列を挿入する例です。

置換で使う正規表現
^
を
//
に置換
置換対象
int work;
work = 5;
work += 10;
置換結果
//int work;
//work = 5;
//work += 10;

3. 行末

 行の末尾(行末)にマッチします。メタ文字は$です。下記がサンプルです。A$は、行末にある文字Aにマッチします。

検索で使う正規表現
A$
検索対象と検索結果
検索対象と検索結果

 もう1つサンプルです。^A$は、正規表現を直訳して、行頭があって文字Aがあって行末があればマッチすると考えるといいでしょう。つまり、「A」のみが入力されている行にマッチします。

検索で使う正規表現
^A$
検索対象と検索結果
検索対象と検索結果

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
4. 任意の1文字

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
正規表現入門連載記事一覧
この記事の著者

山岸 賢治(ヤマギシ ケンジ)

趣味が競技プログラミングなWebエンジニアで、OracleSQLパズルの運営者。AtCoderの最高レーティングは1204(水色)。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3246 2009/05/18 16:09

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング