モジュール regex

正規表現を使って文字列のマッチや置換を行なう述語です.

目次

述語


Top of this page Contents Index of this package LiLFeS Documents LiLFeS Home Page Tsujii laboratory

述語

regex_match/2

書式regex_match(+REGEX, +TARGET)
引数
+REGEXstring 正規表現
+TARGETstring 対象の文字列
正規表現にマッチするかどうか判定します.
> ?- regex_match("i+", "lilfes").
 yes 

regex_match/3

書式regex_match(+REGEX, +TARGET, -RESULT)
引数
+REGEXstring 正規表現
+TARGETstring 対象の文字列
-RESULTlist 第1要素にマッチした文字列全体,第2要素以降にマッチした部分表現(かっこで囲まれた部分)が入ります.
正規表現にマッチする部分文字列を返します.
> ?- regex_match("(hoge)(poge)", "hogepoge",X).
 X: < "hogepoge", "hoge", "poge" > 

regex_match/4

書式regex_match(+REGEX, +OPTIONS, +TARGET, -RESULT)
引数
+REGEXstring 正規表現
+OPTIONSlist オプションのリスト.
+TARGETstring 対象の文字列
-RESULTlist 第1要素にマッチした文字列全体,第2要素以降にマッチした部分表現(かっこで囲まれた部分)が入ります.
注意以下のオプションを指定できます.
  • "ICASE" : 大文字/小文字を区別しない.
  • "i" : "ICASE" と同じ.
  • "GLOBAL" : グローバルマッチング(使用例を参照).
  • "g" : "GLOBAL" と同じ.
  • "NEWLINE" : 改行文字を文の区切りとする.
  • "NOTBOL" : "NEWLINE" が指定されたとき,"^" が改行にマッチしない.
  • "NOTEOL" : "NEWLINE" が指定されたとき,"$" が改行にマッチしない.
正規表現にマッチする部分文字列を返します.
> ?- regex_match("(a)+", ["i"], "aAbbaaa",X).
 X: < "aA", "a" >
 > ?- regex_match("(a)+", ["i", "g"], "aAbbaaa",X).
 X: < "aA", "aaa" > 

regex_subst/4

書式regex_subst(+REGEX, +SUBST, +TARGET, -RESULT)
引数
+REGEXstring 正規表現
+SUBSTstring 置き換える文字列
+TARGETstring 対象の文字列
-RESULTstring 置換された文字列
正規表現にマッチする部分文字列を他の文字列で置換します.
> ?- regex_subst("hoge", "poe", "hoge-pe-n", X).
 X: poe-pe-n 

regex_subst/5

書式regex_subst(+REGEX, +OPTIONS, +SUBST, +TARGET, -RESULT)
引数
+REGEXstring 正規表現
+OPTIONSlist オプションのリスト.
+SUBSTstring 置き換える文字列
+TARGETstring 対象の文字列
-RESULTstring 置換された文字列
注意以下のオプションを指定できます.
  • "ICASE" : 大文字/小文字を区別しない.
  • "i" : "ICASE" と同じ.
  • "GLOBAL" : グローバルマッチング(使用例を参照).
  • "g" : "GLOBAL" と同じ.
  • "NEWLINE" : 改行文字を文の区切りとする.
  • "NOTBOL" : "NEWLINE" が指定されたとき,"^" が改行にマッチしない.
  • "NOTEOL" : "NEWLINE" が指定されたとき,"$" が改行にマッチしない.
正規表現にマッチする部分文字列を他の文字列で置換します.
> ?- regex_subst("l+", ["i"], "m", "LiLFeS", X).
 X: miLFeS
 > ?- regex_subst("l+", ["i", "g"], "m", "LiLFeS", X).
 X: mimFeS 

Top of this page Contents Index of this package LiLFeS Documents LiLFeS Home Page Tsujii laboratory

This document is automatically created by lildoc on Fri Sep 24 14:13:59 2004