DB2 Version 10.1 for Linux, UNIX, and Windows

matches 関数

fn:matches 関数は、ストリングが固有のパターンに一致するかどうかを判別します。

構文

構文図を読む構文図をスキップする
>>-fn:matches(source-string,pattern-+--------+-)---------------><
                                    '-,flags-'     

source-string
パターンと比較されるストリング。

source-string は xs:string 値または空のシーケンスです。

pattern
source-string と比較される正規表現。 正規表現は、 検索パターン内のストリングまたはストリングのグループを定義する、 文字、ワイルドカード、および演算子のセットです。

pattern は xs:string 値です。

flags
patternsource-string のマッチングを制御する、以下の値のいずれかを含む xs:string 値。
s
ドット (.) がすべての文字と一致することを示します。

s フラグが指定されていない場合、ドット (.) は、改行文字 (X'0A') 以外のすべての文字と一致します。

m
脱字記号 (^) が行の開始 (改行文字の後の位置) と一致し、ドル記号 ($) が行の最後 (改行文字の前の位置) と一致することを示します。

m フラグが指定されていない場合、脱字記号 (^) はストリングの開始と一致し、ドル記号 ($) はストリングの最後と一致します。

i
マッチングにおいて大/小文字を区別しないことを示します。

i フラグが指定されていない場合、 大/小文字を区別してマッチングが行われます。

x
pattern 内の空白文字が無視されることを示します。

x フラグが 指定されていない場合、空白文字を考慮してマッチングします。

長さの制限

source-string および pattern の長さは 32000 バイトに制限されます。

戻り値

source-string が空のシーケンスでない場合、戻り値は source-stringpattern と一致する場合 true になります。 戻り値は、source-stringpattern と一致しない場合 false になります。

pattern にストリングまたは行の開始文字の脱字記号 (^)、あるいはストリングまたは行の終了文字のドル記号 ($) が含まれていない場合、source-string のいずれかのサブストリングが pattern と一致すると、source-stringpattern が一致することになります。 pattern にストリングまたは行の開始文字の脱字記号 (^) が含まれている場合、source-stringsource-string の開始または source-string の行の開始から pattern と一致する場合にのみ source-stringpattern は一致します。 pattern にストリングまたは行の終了文字のドル記号 ($) が含まれている場合、source-stringsource-string の最後または source-string の行の最後で pattern と一致する場合にのみ source-stringpattern は一致します。 m フラグは、マッチングがストリングの最初から行われるのか、行の最初から行われるのかを判別します。

source-string が空のシーケンスである場合、戻り値は false です。

ストリング内の任意のサブストリングとパターンのマッチングの例: 以下の関数は、文字 "ac" または "bd" がストリング "abbcacadbdcd" 内の任意の場所にあるかどうかを判別します。
fn:matches("abbcacadbdcd","(ac)|(bd)")

戻り値は true です。

パターンとストリング全体の マッチングの例: 以下の関数は、文字 "ac" または "bd" が ストリング "bd" と一致するかどうかを判別します。
fn:matches("bd","^(ac)|(bd)$")

戻り値は true です。

パターンをマッチングするときにスペースと大文字小文字の違いを無視する例: 以下の関数は、i および x フラグを使用して、ストリング "abc1234" がパターン "ABC 1234" と一致するかどうかを判別するときに大文字小文字の違いとスペースを無視します。
fn:matches("abc1234","ABC 1234", "ix")

戻り値は true です。