match
string string
match は、取り消し不可能、照会不可能、および編集不可能です。
第 1 文字列引数の正規表現と一致する、第 2 文字列引数の一部が返されます。この正規表現は連続する文字と一致する必要があります。一致しない場合は空の文字列("")が返されます。 正規表現は、検索パターンを指定する標準構文です。この参照ページでは、正規表現の概要について説明します。 正規表現は、一致基準を定義する特殊文字が含まれる文字列です。最も単純な表現は、単なる文字列です(下の例 1 を参照)。 正規表現の基本的な構築ブロックは以下のとおりです。| . | 任意の 1 つのキャラクタに一致します。 |
| * | 前の表現の 0 個以上のものに一致します。 |
| + | 前の表現の 1 個以上のものに一致します。 |
| ^ | 表現を行の先頭に合わせます(固定します)。 |
| $ | 表現を行の末尾に合わせます(固定します)。 |
| ¥ | エスケープ文字。「*」などの特殊文字の実際の文字と突き合わせる場合、その特殊文字の前で使用します。MEL 文字列が、最初に解析する場合、「¥」を使用する特殊文字を解決することに注意してください。このため文字「¥」を表現内で使用するには、エスケープを付けて(「¥¥」)突き合わせに渡す必要があります。 |
| [...] | カッコで囲まれたキャラクタの 1 つに一致します。「¥」と「]」を除くすべての特殊なパターン一致キャラクタを角カッコで囲むと特殊な意味が失われ、自分自身と単に一致するようになります。「-」で区切られた 1 対のキャラクタは、辞書上でその対の間に入るすべてのキャラクタ(その対自身を含む)と一致します(「[0-9]」は任意の数字と一致します)。左角カッコ「[」の後に続く最初のキャラクタが「^」の場合、囲まれていないすべてのキャラクタが一致します(「[^ab]」は「a」または「b」を除くすべてのキャラクタと一致します)。「-」は、最初か最後のキャラクタとして置くことで、文字セットに含めることができます。 |
| (...) | エクスプレッションの一部をグループ化します。 |
| string | 一致する文字列 |
// Example 1: a simple string match
//
match "this" "this is a test";
// Result: this //
// Example 2: using '*' and '+'
//
match "a*b*" "abbcc";
// Result: abb //
match "a*b*" "bbccc";
// Result: bb //
match "a+b+" "abbcc";
// Result: abb //
// The following will fail because there has to be at least one "a"
match "a+b+" "bbccc";
// Example 3: anchoring to the start and end of the line
//
// This matches "the", only if it is at the start of the line
match "^the" "the red fox";
// Result: the //
// The following fails
match "^the" "chase the red fox";
// This matches "fox", only if it is at the end of the line
match "fox$" "the red fox";
// The following fails
match "fox$" "the red fox hides";
// Example 4: matching ranges of characters
//
match "[0-9]+" "sceneRender019.iff";
// Result: 019 //
// Example 5: using ()
//
match "(abc)+" "123abcabc456";
// Result: abcabc //
// Example 6: the escape charater
//
// as mentioned above, MEL parses '\' escape characters in strings. So,
// to pass an actual '\' character through to match, you must escape it.
//
// The following regular expression is really "\^.", but we have to escape
// the '\'.
//
match("\\^.", "ab^c");
// Result: ^c
//