正規表現は文字列のパターンを表現する方法です。テキストの加工はPerlの最も得意とする分野の一つです。
正規表現の略記
. 改行文字を除く任意の1文字にマッチ ( ) カッコの内側の要素を1つの要素にマッチ + 直前のパターン要素に1回以上マッチ ? 直前のパターン要素に0回または1回マッチ * 直前の要素に0回以上マッチ {m, n} 直前の要素に m 回以上、n 回以下マッチ {m} m 回マッチ {m, } 少なくとも m 回マッチ [...] 指定した文字クラスのどれか1つにマッチ [^...] 指定したクラスに属さない文字1文字にマッチ (...|...|...) | で区切った選択肢のどれか1つにマッチ
.(ドット)改行文字を除く任意の一文字にマッチします。 例えば、/.a/ と記述すると、「aa」や「ba」などにマッチしますが、「a」にはマッチしません。aの前に文字がなければマッチしないことになります。[...] 文字クラス[](角括弧)で囲まれた文字を文字クラスといいます。[]に囲まれた文字のいづれかがマッチングの対象となります。{ } 繰り返し[0123456789] #0〜9までの数字 [abcdefghijklmnopqrstuvwxyz] #アルファベットの小文字上記は、数字またはアルファベットの小文字という範囲を表現していますが、-(ハイフン)を使用することで簡潔に記述することができます。[0-9] #0〜9までの数字 [a-z] #アルファベットの小文字{}(中括弧)で繰り返しを表現します。/a{5}/ #aaaaaにマッチ(aに5回マッチ) /a{5,}/ #aaaaaaなどにマッチ(aに5回以上マッチ) /a{5, 7}/ #aaaaaaaなどにマッチ(aに5回以上、7回以下マッチ)
\w [a-zA-z0-9_] - を含む英数字にマッチ \W [^a-zA-z0-9_] 英数字以外にマッチ \b 単語の境界にマッチ \B 境界以外にマッチ \s [ \r\t\n\f] 空白にマッチ \S [^ \r\t\n\f] 空白以外にマッチ \d [0-9] 数字にマッチ \D [^0-9] 数字以外にマッチ \n 改行文字 \r キャリッジリターン \f ラインフィード \t タブ