正規表現

 

正規表現は、検索したい文字列と、ある種の記号を組み合わせて、複数のキーワードを表現する方法です。SuMoMoで使用する正規表現は、HMJRE.DLLの正規表現に基づいたものになります。ここでは、簡単な使用方法について説明します。HMJRE.DLLでの詳細な方法については、HMJRE.DLLのヘルプ等を参考にして下さい。

 

上述の「ある種の記号」とは、正規表現で特別な意味を持つ文字を表し、それらはメタ文字またはメタキャラクタと呼ばれます。

 

メタキャラクタ

[ ] ( ) ^ $ . * + ? | - \

 

メタキャラクタの意味

メタキャラクタ

読み方

意味・例

 

[  ]

ブラケット

任意の1文字の集合を示します。[ ]内で表現される何れかの1文字と一致するものを検索します。

     文字列の中から正規または正式を検索する場合 :  正[規式]

     文字列の中から正規、正気、正記を検索する場合  : 正[規気記]

( )

パーレン

指定文字列を纏め、優先順位を高くします。

     行の最後がアルファベットで終わっている場合 : ([A-Z]|[a-z])$

 

^

キャレット

1.       行の先頭を意味します。

     行の先頭にある「MEMO」を検索する場合  :  ^MEMO

2.       ブラケットの先頭に用いるとブラケットで指定するパタンの否定を意味します。

     アルファベットの小文字以外の一文字 : [^a-z]

$

ドル

行の末尾を意味します。

     行の最後が数字で終わっている場合 : [0-9]$

 

.

ピリオド

任意の1文字を意味します。

     「■肉■食」の■に入る四文字熟語を検索する場合 :  .肉.食

※「.」でのみ検索を行った場合、全ての文字が一致してしまいます。この様な検索をすると検索時間、メモリ消費等システムに高負荷がかかりますので注意して下さい。

 

*

アスタリスク

直前の文字またはパターンの0回以上の繰り返しを意味します。

     *」が一つ以上続く箇所を検索する場合 : \**

※この場合、厳密には全ての文字が一致してしまいますがSUMOMOでは、「*」がある箇所のみ有効箇所としています。

+

プラス

直前の文字またはパターンの1回以上の繰り返しを意味します。

     *」が二つ以上続く箇所を検索する場合 : \*+

 

?

クエスチョン

直前の文字またはパターンの0回または1回の繰り返しを意味します。

     「有り」または「有」と表現している箇所を検索する場合 : 有り?

※「有?」とした場合、厳密には全ての文字が一致してしまいますがSUMOMOでは、「有」がある箇所のみ有効箇所としています。

 

|

パイプ

文字またはパターンの論理和(OR)を意味します。

     文字列の中から正規または正式を検索する場合 :  正規|正式

     文字列の中から正規、正気、正記を検索する場合  : 正規|正気|正記

     すべてのアルファベットの1文字  : [A-Z]|[a-z]

 

-

マイナス

文字範囲を指定します。

     アルファベットの小文字の一文字 : [a-z]

     数字の一文字 : [0-9]

     二桁の数値 : [0-9][0-9]

 

\

エスケープ

特殊文字(メタキャラクタ等)を指定する場合に使用します。

     メタキャラクタ * を検索する場合 : \*

     改行を検索する場合 : \n