このバージョンのヘルプはこれ以降更新されません。最新のヘルプは https://www.jmp.com/support/help/ja/15.2   からご覧いただけます。


p = "最後ではなく" + Pat Arb() >? stuffInTheMiddle + "出てきます";
Pat Match( "ストーリーの最後ではなく始めの方で、3匹のクマが出てきます", p );
Show( stuffInTheMiddle );
引数(pattern)に0回以上マッチするパターンを生成する。
adjectives = "Lサイズ" | "Mサイズ" | "Sサイズ" | "温かい" | "冷たい" | "熱い" | "甘め";
rc = Pat Match( "Mサイズの甘めの熱い紅茶を1つください",
               Pat Arbno( adjectives | Pat Any("の") ) >> adj +
               ("紅茶" | "コーヒー" | "ミルク") );
Show( rc, adj );
ヌル文字列にマッチするパターンを生成し、ソース文字列の現在の場所を、指定したJSL変数(varName)に代入する。割り当ては即座に行われます。値が割り当てられた変数をexpr()で使用することにより、残りのマッチを変更することができます。
p = ":" + Pat At( listStart ) + Expr(
	If( listStart == 1,
		Pat Immediate( Pat Len( 3 ), early ),
		Pat Immediate( Pat Len( 2 ), late )
	)
);
early = "";
late = "";
Pat Match( ":123456789", p );
Show( early, late );
early = "";
late = "";
Pat Match( "   :123456789", p );
Show( early, late );
type = "未定義";
rc = Pat Match(
	"青りんご",
	Pat Conditional( "赤" | "青", type ) + "りんご"
);
Show( rc, type );
パターンマッチの結果を第2引数(varName)の名前の変数に即座に保存する。
type = "未定義";
rc = Pat Match(
	"青りんご",
	("赤" | "青") >> type + "なし"
);
Show( rc, type );
Pat Matchは、ソーステキスト(SourceText)に対してパターン(Pattern)を実行する。直接指定する方法か、または別のJSL変数へパターンを割り当てておく方法により、パターンを生成する必要があります。
Pat Match( "coffee with cream and sugar", "cream", NULL, ANCHOR );
(オプション)Pat Matchにすべての候補を強制的に検索させるオプション。検索数が多いほど、多くのメモリが必要となります。デフォルトでは、Pat Match()FULLSCANを使用せず、再帰を停止する、あるいはマッチングを継続するための前提を決めて動作します。
現在の位置が文字列の左端からintのとき、ヌル文字列にマッチするパターンを生成する。その他の場合は失敗します。
現在の位置が文字列の右端からintのとき、ヌル文字列にマッチするパターンを生成する。その他の場合は失敗します。
指定された正規表現とマッチするパターンを生成する。正規表現を記述する引数stringは、引用符付きの文字列で指定する必要があります。
指定されたパターン(pattern)に最小(minimum)~最大(maximum)回マッチするパターンを生成する。
GREEDYが指定されている場合、まず最大回数だけ試行してから最小回数まで戻る。RELUCTANTが指定されている場合、まず最小回数だけ試行してから最大回数まで進む。
Pat Arbno(p) Pat Repeat(p, 0, infinity, RELUCTANT)と同じです。
Pat Repeat(p)Pat Repeat(p, 1, infinity, GREEDY)と同じです。
Pat Repeat(p, n)Pat Repeat(p, n, infinity, GREEDY)と同じです。
Pat Repeat(p, n, m)Pat Repeat(p, n, m, GREEDY)と同じです。
ソース文字列のintの位置までマッチするパターンを生成する。0文字以上の文字とマッチできます。後ろに移動する場合、または文字列の最後を超える場合は失敗します。
式(expr)が0以外のときは、成功し、ヌル文字列とマッチするパターンを生成する。そうでない場合は失敗します。
通常、引数にはexpr()が使用されます。通常、テストは、Pat ImmediatePat Conditional、およびPat Atから戻された現在の値に対して行います。expr()を使用しないと、テストは、パターンマッチを行っている最中ではなく、パターンを生成した時点の値によって行われます。この値により、パターンマッチは常に成功するか常に失敗するかのどちらかとなってしまうため、多くの場合、意図したとおりに動作しません。
nCats = 0;
whichCat = 3;
string = "生米生麦生卵";
rc = Pat Match(
	string,
	"生" + Pat Test(
		Expr(
			nCats = nCats + 1;
			nCats == whichCat;
		)
	),
	"ゆで"
);
Show( rc, string, nCats );
引用符付き文字列で指定されたソース(source)に対して、パターン(pattern)のマッチを実行する。