「正規表現」の版間の差分

削除された内容 追加された内容
編集の要約なし
編集の要約なし
3 行
正規表現 (regular expression) とは文字列の集合を表現するための言語である。プログラミング言語において、たとえば数字の並びで構成される文字列、空白文字から構成される文字列、メールアドレスの形式をした文字列など、特定のパターンに一致する文字列を抽出したり、検索したりするのに用いられる。
 
== 概要文法 ==
Perlの正規表現の文法はPOSIXの拡張正規表現をさらに拡張したものであり、形式言語理論における正規言語の表現能力を超越している。本書ここでは特定の正規表現プログラミング言語やライブラリによらない基本的な正規表現の文法を大まかに解説し、個々の正規表現に特有の文法や具体的なパターンマッチの方法については別に扱う。
正規表現は[[数学#理論計算機科学|理論計算機科学]]の一分野である[[形式言語]]理論や[[オートマトン]]理論から誕生した。伝統的な正規表現はUnixオペレーティングシステムで広く用いられ、find、grepコマンドやGNU Emacsテキストエディタなどで採用されている。これらの基本正規表現に加えて、POSIXでは拡張正規表現が定義されたが、現在多くのプログラミング言語やアプリケーションソフトウェアで採用されているのは[[Perl]]の正規表現である。
 
{| class="wikitable"
Perlの正規表現の文法はPOSIXの拡張正規表現をさらに拡張したものであり、形式言語理論における正規言語の表現能力を超越している。本書では特定の正規表現によらない基本的な正規表現の文法を大まかに解説し、個々の正規表現に特有の文法や具体的なパターンマッチの方法については別に扱う。
|+ 正規表現のメタ文字
! メタ文字
! 意味
! 備考
|-
| .
| 任意の1文字
| 通常は改行文字を除く
|-
| +
| 直前の文字の繰り返し
|-
| *
| 直前の文字の繰り返しもしくは空文字列
|-
| <nowiki>?</nowiki>
| 直前の文字もしくは空文字列
|}
 
== 関連書籍 ==