拡張正規表現

[Awk basics - ストリームエディタの発展系 Awk の基礎]
[2014/03/01新規] [2014/05/27更新]

ここでは IEEE Std 1003.1 における ERE(Extended Regular Expressions) について説明する。

Contents

特殊文字

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

文字クラス

awk の文字集合には以下の文字クラス名が用意されている。ちなみに、右段の等価な文字集合では、GNU awk と POSIX awk, nawk それぞれで微妙に書式が異なるので備考を参考のこと。

文字クラスISO646で等価な文字集合備考
"[:alnum:]""[0-9A-Za-z]"
"[:alpha:]""[A-Za-z]"
"[:blank:]""[\t ]""C" ロカールではこれら「タブ」と「空白」のみ。
"[:cntrl:]""[^[:print:]]"nawk では未対応
"[:digit:]""[0-9]"
"[:graph:]""[^ [:cntrl:]]"ここで、文字 '\' が含まれないので注意。
"[:lower:]""[a-z]"
"[:print:]""[ !-/0-9:-@A-Z[-`a-z{-~]"ここで '/''\/' と書くべき nawk 等での書式もあるので注意。また、文字 '\' が含まれないので注意。
"[:punct:]""[!-/:-@[-`{-~]"ここで '/''\/' と書くべき nawk 等での書式もあるので注意。また、文字 '\' が含まれないので注意。
"[:space:]""[\t-\r ]"
"[:upper:]""[A-Z]"
"[:xdigit:]""[0-9A-Fa-f]"

ちなみに他に "[=ch=]"(照合記号), "[.a.]"(等価クラス)が定義されているが、それらが実装されているかは処理系による。

参考文献

  1. Extended Regular Expressions, IEEE Std 1003.1-2004.
Written by Taiji Yamada <taiji@aihara.co.jp>