Hitachi

JP1 Version 12 JP1/Integrated Management 2 - Manager 導入・設計ガイド


付録G.2 正規表現の文法

JP1/IMでは,次に示す正規表現を使用できます。正規表現を使用する場合,次の表記法に従って指定してください。

重要

ここで紹介する正規表現以外の正規表現の使用は,機種やOSによって仕様が異なるため,お勧めしません。正規表現を使用する場合は,ここで紹介する正規表現だけを使用してください。

〈この項の構成〉

(1) 通常文字

通常文字とは,正規表現としてその文字自体を検索対象に指定した場合に一致する文字です。通常文字として扱わないのは「制御コード」と「特殊文字」だけです。

(2) 特殊文字

特殊文字とは,^ $ . * + ? | ( ) { } [ ] \です。それぞれの特殊文字について次に説明します。

^

^は,先頭指定(前方一致)を意味します。正規表現の最初の文字として使用する場合だけ特殊文字になります。先頭以外で使用する場合は通常文字として扱われます。

^を特殊文字として指定すると,行頭にある指定の文字列に一致します。

$

$は,末尾指定(後方一致)を意味します。正規表現の最後の文字として使用する場合だけ特殊文字になります。末尾以外で使用する場合,通常文字として扱われます。

$を特殊文字として指定すると,行末にある指定の文字列に一致します。なお,^と併用すると,指定した文字列だけの行に一致します。

.(ピリオド)

.(ピリオド)は,任意の1文字であることを意味します。

.(ピリオド)を特殊文字として指定すると,「改行文字」以外の任意の1文字に一致します。

*

*は,直前の文字の0回以上の繰り返しを意味します。

+

JP1独自正規表現,基本正規表現では,通常文字として扱われます。

+は,直前の文字の1回以上の繰り返しを意味します。

?

JP1独自正規表現,基本正規表現では,通常文字として扱われます。

?は,直前の文字の0回または1回の繰り返しを意味します。

|

JP1独自正規表現,基本正規表現では,通常文字として扱われます。

|は,|の左右に指定した正規表現のOR条件を意味します。特殊文字( )と組み合わせて使用します。

( )

JP1独自正規表現,基本正規表現では,通常文字として扱われます。

( )は,( )内で指定した正規表現のグループ化を意味します。

正規表現を使用する際に,正規表現であることをプログラムに明確に認識させたい場合に使用します。主に「|」を使用するときに利用します(「付録G.4 正規表現を使用する際のヒント」参照)。

{ }

JP1独自正規表現,基本正規表現では,通常文字として扱われます。

{ }は,直前の文字の{ }内で指定した値分の繰り返しを意味します。

[ ]

JP1独自正規表現,XPG4の基本正規表現では,通常文字として扱われます。

[ ]は,[ ]内の文字列のどれかとの一致または不一致([ ]内の先頭に^を指定した場合)を意味します。

\

\は,特殊文字(^ $ . * + ? | ( ) { } [ ] \の打ち消しを意味します。

\を特殊文字の前に指定すると,その特殊文字は,通常文字として扱われます。\は,特殊文字を打ち消す場合にだけ使用してください。英数字の前に\を指定すると「制御コード(改行やタブなど)」を意味する正規表現として使用できることがありますが,OS,製品によって扱いが異なるため,誤動作の原因となります。

注※

JP1独自正規表現,XPG4の基本正規表現の場合,+ ? | ( ) { } [ ]は通常文字として扱われます。

POSIX1003.2の基本正規表現の場合,+ ? | ( ) { }は通常文字として扱われます。