K-Prolog Compiler Version 6.0

正規表現パターンマッチ
正規表現はエディタ等で使用する正規表現と類似のもので、
文字列またはアトムと正規表現パターンの一致を調べることができます。
正規表現パターンは文字列であらわします。
たとえば、"f.*" は f で始まる任意の文字列と、"[a-z]*"は小文字のみから
なる文字列とマッチします。正規表現の検査は、
reg_match(対象、正規表現パターン)
で行います。
[例]
reg_match(banana,“[a-n]*")
reg_match(banana,“b.*")
reg_match(banana,“[^A-Z]*")
はそれぞれ成功します。
正規表現パターンは次の規則に基づいて作ります。
".","[","]","\","^","*"をここでは特殊文字と呼びます。
正規表現パターン中の、
- 特殊文字以外の文字は、それ自身とマッチします。
- .は任意の文字とマッチします。
- \xは特殊文字を含む任意の文字 x について、x 自身とマッチします。
- [abc]は、aまたはbまたはcとマッチします。
- [a-zA]は、文字コードが a から z の範囲内にある文字とAにマッチ
します。[と]の間では、"-"も特殊文字です。
- [^a]は a以外の文字にマッチします。
- [^a-z]は文字コードがa から zの範囲にない文字にマッチします。
- 1-7の記号の後に*をつけたものは、1-7を0ないし
任意くり返したものにマッチします。例えば、
reg_match(X,"\[\**\]")のように使い、[と]で囲まれた任意個の * とマッチします。
正規表現の式が不正なとき、マッチしていないものとみなします。
一つ上に戻る
目次に戻る