fn:matches 関数は、ストリングが固有のパターンに一致するかどうかを判別します。
>>-fn:matches(source-string,pattern-+--------+-)--------------->< '-,flags-'
source-string は xs:string 値または空のシーケンスです。
pattern は xs:string 値です。
s フラグが指定されていない場合、ドット (.) は、改行文字 (X'0A') 以外のすべての文字と一致します。
m フラグが指定されていない場合、脱字記号 (^) はストリングの開始と一致し、ドル記号 ($) はストリングの最後と一致します。
i フラグが指定されていない場合、 大/小文字を区別してマッチングが行われます。
x フラグが 指定されていない場合、空白文字を考慮してマッチングします。
source-string および pattern の長さは 32000 バイトに制限されます。
source-string が空のシーケンスでない場合、戻り値は source-string が pattern と一致する場合 true になります。 戻り値は、source-string が pattern と一致しない場合 false になります。
pattern にストリングまたは行の開始文字の脱字記号 (^)、あるいはストリングまたは行の終了文字のドル記号 ($) が含まれていない場合、source-string のいずれかのサブストリングが pattern と一致すると、source-string と pattern が一致することになります。 pattern にストリングまたは行の開始文字の脱字記号 (^) が含まれている場合、source-string が source-string の開始または source-string の行の開始から pattern と一致する場合にのみ source-string と pattern は一致します。 pattern にストリングまたは行の終了文字のドル記号 ($) が含まれている場合、source-string が source-string の最後または source-string の行の最後で pattern と一致する場合にのみ source-string と pattern は一致します。 m フラグは、マッチングがストリングの最初から行われるのか、行の最初から行われるのかを判別します。
source-string が空のシーケンスである場合、戻り値は false です。
fn:matches("abbcacadbdcd","(ac)|(bd)")
戻り値は true です。
fn:matches("bd","^(ac)|(bd)$")
戻り値は true です。
fn:matches("abc1234","ABC 1234", "ix")
戻り値は true です。