RegexPatternクラス
Biz/Browser 4.0.3
|
|
|||
|
|
|
|
|
|
|
RegexPattern |
||
|
|
|||
正規表現パターンを保持するクラスです。
Compileスタティックメソッドにより、指定した正規表現をコンパイルし、RegexPatternオブジェクトを生成します。
生成したRegexPatternオブジェクトは、任意の入力文字列とのマッチを行うための正規表現エンジンであるRegexMatcherクラスのオブジェクトを生成するために使用します。
1つのRegexPatternオブジェクトからは複数のRegexMathcerオブジェクトを生成できます。それぞれのRegexMatcherオブジェクトは同じ正規表現パターンを共有します。
デフォルトプロパティとValueType
デフォルトプロパティはPatternです。ValueTypeの指定は無効です。
よりUnicodeの文字列を扱うUnicodeモードが追加されました。-->
Unicodeモードについて
Compileメソッド、Matchesメソッドの引数にRegexPattern.Unicodeを指定すると、正規表現エンジンをUnicodeモードで生成できます。
Unicodeモードでは正規表現や入力文字列はUString型として扱われ、Unicodeの文字を使用できるようになります。
文字の位置を表すインデックス(RegexMatcherクラスのStart、Endメソッドの結果など)は文字単位(Unicodeモードではないときはバイト単位)になります。
<-- ここまで
典型的な利用方法
1. Compileスタティックメソッドにより、正規表現をコンパイルし、RegexPatternオブジェクトを生成します。
2. 1で生成したRegexPatternオブジェクトのMatcherメソッドにより、正規表現パターンと入力文字列のマッチを行うRegexMatcherオブジェクトを生成します。
3. 2で生成したRegexMatcherオブジェクトのMatchesメソッド、Findメソッド等でマッチを行います。
/* 正規表現をコンパイルします */
var p = RegexPattern.Compile("Biz/([a-zA-Z]+)");
/* 入力文字列を設定し正規表現エンジンを生成します */
var m = p.Matcher("Biz/Browser, Biz/Designer");
/* 部分一致検索を行います */
while (m.Find()) {
/* 部分一致した部分全体を表示 */
print(m.Group());
/* 一つ目の前方参照グループを表示 */
print(" [", m.Group(1) , "]", "\n");
}
/* 全体完全一致 */
print("Matches:", m.Matches(), "\n");
/* 先頭からのマッチ */
print("LookingAt:", m.LookingAt(), "\n");
----- 実行結果 -----
Biz/Browser [ Browser ]
Biz/Designer [ Designer ]
Matches: 0
LookingAt: 1
正規表現構文要約