Perl正規表現

[Perl basics - sed, Awk の発展系としての Perl]
[2014/03/24新規] [2014/05/27更新]

ここでは Perl における RE(Regular Expressions) について説明する。

Contents

特殊文字

perl の正規表現における特殊文字は以下の通りである。

perl の正規表現における最左最小(非貪欲)マッチは以下の通りである。

perl の正規表現における絶対最大マッチは以下の通りである。

文字クラス

perl の文字集合には以下の文字クラス名が用意されている。

文字クラスISO646で等価な文字集合備考
"[:alnum:]""[0-9A-Za-z]"
"[:alpha:]""[A-Za-z]"
"[:ascii:]""[A-Za-z]"POSIX にはない。
"[:blank:]""[\t ]"'\h' と等価。
"[:cntrl:]""[^[:print:]]"
"[:digit:]""[0-9]"'\d' と等価。
"[:graph:]""[^ [:cntrl:]]"
"[:lower:]""[a-z]"
"[:print:]""[ !-\/0-9:-\@A-Z[-`a-z{-~]"
"[:punct:]""[!-\/:-\@[-`{-~]"
"[:space:]""[\t-\r ]"'\s''^K' と等価。
"[:upper:]""[A-Z]"
"[:word:]""[0-9A-Za-z_]"'\w' と等価。POSIX にはない。
"[:xdigit:]""[0-9A-Fa-f]"

ここで "[:^digit:]", "[:^space:]" のような POSIX にはない補集合もサポートされる。

グループ、後続パターンの指示、マッチ修飾子の指示

他に Perl が他の処理系に多大な影響を与えた特殊文字を以下にあげる。

特に「後方参照なしグループ」はグループ番号を無駄に消費しないので極めて有用である。詳しくは Perl のドキュメントを参照のこと。

マッチ修飾子

参考文献

  1. Perl Regular Expressions.
Written by Taiji Yamada <taiji@aihara.co.jp>