Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

正規表現の入門(2)
難しいメタ文字

正規表現の難しいメタ文字の使い方

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2009/05/25 14:00

ダウンロード SourceCode (1.8 KB)

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

目次

はじめに

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

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

 第2回となる本稿では、難しいメタ文字について解説します。

対象読者

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

必要な環境

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

 EmEditorでの正規表現を使う検索の仕方については、第1回を参照してください。

1. 最小マッチ

 量指定子の直後に使用し、マッチ回数が最も少ないマッチを優先するようにします。メタ文字は?です。ものぐさマッチ、控えめなマッチ、欲張りでないマッチとも呼ばれます。

 量指定子で、最小マッチを指定しない正規表現と、最小マッチを指定した正規表現の、検索結果を比較してみましょう。

検索対象
aabbcc
aabbaabbcc
bb
検索で使う正規表現1
^[ab]*[bc]
検索結果1
検索結果1
検索で使う正規表現2
^[ab]*?[bc]
検索結果2
検索結果2
検索で使う正規表現3
^[ab]+[bc]
検索結果3
検索結果3
検索で使う正規表現4
^[ab]+?[bc]
検索結果4
検索結果4
検索で使う正規表現5
^[ab]?[bc]
検索結果5
検索結果5
検索で使う正規表現6
^[ab]??[bc]
検索結果6
検索結果6

 量指定子(範囲指定繰り返し制御)で、最小マッチを指定した正規表現と、最小マッチを指定しない正規表現の、検索結果を比較してみましょう。

検索対象
aabbcc
aabbaabbcc
aabc
aaaab
bb
検索で使う正規表現1
^[ab]{2,}[bc]
検索結果1
検索結果1
検索で使う正規表現2
^[ab]{2,}?[bc]
検索結果2
検索結果2
検索で使う正規表現3
^[ab]{2,4}[bc]
検索結果3
検索結果3
検索で使う正規表現4
^[ab]{2,4}?[bc]
検索結果4
検索結果4

  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

バックナンバー

連載:正規表現入門
All contents copyright © 2005-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5