基本正規表現 ============ [[!sed basics - ストリームエディタの基礎!sed-howto-0.html!]] [[!sed における拡張正規表現!sed-howto-2.html!]] <<<< >>>> [2014/03/01新規] [2014/05/27更新] ここでは IEEE Std 1003.1 における BRE(Basic Regular Expressions) について説明する。 特殊文字 --------[[special_characters]] [*sed*] の正規表現における伝統的な特殊文字は以下の通りである。 * '.' - 任意の一文字。 * '[' - 文字集合の開始。"[^^]" は '^' 以外のすべて。"[a-z]" は小文字のアルファベット。'-', '[', ']', '^' そのものを集合としたい場合は "[]^\[-]" という順序にする。 * '\' - エスケープ。特殊文字のエスケープやグループ "\(", "\|" ,"\)" に用いる。 * '*' - 0個以上の繰り返しにマッチ * '^' - 行頭 * '$' - 行末 文字クラス ~~~~~~~~~~[[character_class]] [*sed*] の文字集合には以下の文字クラス名が用意されている。ちなみに、右段の等価な文字集合では '\t' 等、GNU sed で可能なエスケープ文字による表記方法を用いており、POSIX sed ではエスケープ文字はサポートされないことに注意。 |---------------------------------------- |文字クラス ISO646で等価な文字集合 |"[:alnum:]" "[0-9A-Za-z]" |"[:alpha:]" "[A-Za-z]" |"[:blank:]" "[\t ]" |"[:cntrl:]" "[^[:print:]]" |"[:digit:]" "[0-9]" |"[:graph:]" "[^ [:cntrl:]]" |"[:lower:]" "[a-z]" |"[:print:]" "[ !-/0-9:-@A-Z[-`a-z{-~]" |"[:punct:]" "[!-/:-@[-`{-~]" |"[:space:]" "[\t-\r ]" |"[:upper:]" "[A-Z]" |"[:xdigit:]" "[0-9A-Fa-f]" |---------------------------------------- ちなみに他に "[=ch=]"(照合記号), "[.a.]"(等価クラス)も定義されているが省略する。 参考文献 --------[[bibliography]] . http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap09.html#tag_09_03[Basic Regular Expressions, IEEE Std 1003.1-2004]. //// Written by Taiji Yamada ////