前のセクションでは、Pattern クラスと Matcher クラスを使用してパターン オブジェクトを確立する最初のステップを学習しました。このセクションでは、引き続き 2 番目のステップである一致するオブジェクトを取得します。
文字列入力を取得できる Matcher クラスのインスタンス マッチャー (マッチング オブジェクトと呼ばれる) を取得します。
Matchermatcher=pattern.matcher(入力);
パターン オブジェクト pattern は、matcher(CharSequence input) メソッドを呼び出して、matcherオブジェクトmatcher を返します。これは、 matcher によって取得される文字列を指定するために使用されます。パラメーター入力は、CharSequence インターフェイスを実装する任意のクラスによって作成されたオブジェクトにすることができます。以前に学習した String クラスと StringBuffer クラスは、CharSequence インターフェイスを実装します。
マッチング オブジェクト マッチャーは、さまざまなメソッドを呼び出して文字列inputを取得できます。たとえば、マッチャーはブール型の find() メソッドを順番に呼び出して、正規表現に一致する入力内の部分文字列を取得します。たとえば、 find() メソッドの最初の呼び出しでは、入力内の最初の部分文字列 Good が取得されます。つまり、matcher.find() は最初の Good を取得し、この時点で matcher.start( によって返される値) を返します。 ) は 6 (最初の Good が開始する位置)、matcher.end() によって返される値は 10 (最初の Good が終了する位置)、matcher.group() は Good を返します、つまり、取得された文字列を返します。
Matcher オブジェクト マッチャーは、次のメソッドを使用して、パターン regex と一致する文字列入力のサブシーケンスがあるかどうかを検索できます。正規表現は、パターン オブジェクト パターンを作成するときに使用される正規表現です。
入力と正規表現に一致する次のサブシーケンスを検索します。成功した場合、メソッドは true を返し、それ以外の場合は false を返します。マッチャーはこのメソッドを初めて呼び出すときに、正規表現に一致する入力内の最初のサブシーケンスを検索します。find() が true を返した場合、マッチャーは find() メソッドを再度呼び出すと、最後のサブシーケンスから検索を開始します。パターンに一致したサブシーケンス。パターンに一致した次の部分文字列。さらに、find メソッドが true を返すと、マッチャーは start() メソッドと end メソッドを呼び出して、入力内の一致パターン サブシーケンスの開始位置と終了位置を取得できます。 find メソッドが true を返すと、マッチャーは group() を呼び出して、今回 find メソッドで見つかった一致パターンの部分文字列を返します。
マッチャーはこのメソッドを呼び出して、入力が正規表現と完全に一致するかどうかを判断します。
マッチャーはこのメソッドを呼び出して、入力の先頭から正規表現に一致するサブシーケンスがあるかどうかを判断します。 lookingAt() メソッドが true を返した場合、マッチャーは start() メソッドと end メソッドを呼び出して、lookingAt() メソッドによって見つかった一致パターンのサブシーケンスの入力内の開始位置と終了位置を取得します。 LookingAt() メソッドが true を返した場合、マッチャーは group() を呼び出して、lookingAt() メソッドによって見つかった一致パターンのサブシーケンスを返します。
マッチャーはこのメソッドを呼び出して、パラメーター start で指定された位置から始まる正規表現に一致するサブシーケンスが入力にあるかどうかを判断します。パラメーター start が 0 の場合、このメソッドは LookingAt() と同じ機能を持ちます。
マッチャーは、このメソッドを呼び出すことで文字列を返すことができます。この文字列は、パターン正規表現に一致する入力内のすべての部分文字列をパラメータ置換で指定された文字列に置き換えることによって取得されます。入力自体は変更されないことに注意してください。
マッチャーは、このメソッドを呼び出して、パターン正規表現に一致する入力内の最初の部分文字列をパラメーター置換で指定された文字列に置き換えることによって取得される文字列を返します。入力自体は変更されないことに注意してください。