気の向くままに辿るIT/ICT/IoT
Perl

Perl 正規表現 regular expression

ホーム前へ次へ
Perlの正規表現とは?

Perl 正規表現 regular expression

正規表現とは

 正規表現とはUNIX/Linuxの世界で広く一般的に使用されている検索や置換に用いる技法です。

 もちろん何らかの文字列や数字列をそのまま検索・置換することもできるわけですが、1通りの記述方法でより汎用的にファイルや文章、文字列、数字列、改行等々にマッチする式を書くことができるところに正規表現の存在意義と魅力があります。

 正規表現はUNIX/Linuxシェル、LinuxにおけるFSF/GNU Projectbashを含む各種GNUコマンドfindgrepawksed、また、Perl他各種スクリプトなどで幅広く利用できます。

 regular expressions 

 regular expression 

 regex 

 regexp 

 正規表現は米英語ではregular expression/regular expressionsで略記されることも多く、特にregexpがより自然な略し方と思われ、比較的多用されるものと思われます。

 また、grepコマンドの名前の由来は、Global Regular Expressionであり、これに拡張を加えたExtended Regular Expression(通称、egrep)などがあります。

 正規表現はその機能性の違いから、それぞれ微妙に文法が異なる部分もあります。

Perlの正規表現

 PerlはC/各種shell/awkコマンド/sedコマンド/trコマンド/grepコマンド等々各種UNIX/Linuxコマンドなどを参考に作られた言語であり、正規表現においても似たような記述方法を利用できることも少なくありません。

 中でも置換演算子[s]/変換演算子[tr]は、UNIX/Linuxコマンドとほぼ同様に使えますし、grepは同名の関数が用意されています。

 またPerlの正規表現も各種UNIXコマンドを参考に作られている為、かなり強力でGNU/LinuxをはじめとするLinuxディストリビューションの普及と共にgrep含むGNUコマンドでは逆にPerlの正規表現を利用できるケースもあります。

 C言語では[ pcre.h ]というヘッダファイルをincludeすることによりPerlの正規表現を利用することもできます。

 また各種UNIX/Linuxコマンドにおける正規表現同様、Perlにおける正規表現についてもパターンマッチ・パターンマッチングなくして語ることはできないでしょう。

Perlパターンマッチのポイント

 Perlのパターンマッチの基本は次の通りです。

正規表現 / Regular Expression

パターンマッチング / Pattern Match / Pattern Matching

演算子 / Operators

修飾子 / Modifiers

量指定子 / Quantifiers

メタ文字/メタキャラクタ / Metacharacters

エスケープシーケンス / Escape sequences

文字クラス / Character Classes

略記/特殊エスケープ文字 / Special Escapes

ホーム前へ次へ