English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
このjava.util.regex.Matcherのこのクラスは、さまざまなマッチング操作を行うエンジンを表します。このクラスにはコンストラクタがありませんが、以下を使用できます。matches()
java.util.regex.Patternのメソッドを生成/このクラスのオブジェクトを取得
このreset()
この(マッチャー)クラスのメソッドは、すべての状態情報を除き、この文字列シーケンスをデフォルト値にリセットし、追加位置を0にします。
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Reset { public static void main(String[] args) { String str = "<p>This<b>is</>b> <b>例<b>です/>b>HTML<b>スクリプト<b>は/>b> <b>すべて<b>の/>b> 代替<b>単語<b>です/>b> bold<b>は/>b></>p>"; //太字タグの内容を正規表現でマッチング String regex = "<b>(\\S+/>b>"; //パターンオブジェクトを生成 Pattern pattern = Pattern.compile(regex); //正規表現で構文化されたパターンを文字列中にマッチング Matcher matcher = pattern.matcher(str); while (matcher.find()) { System.out.println("マッチャーの状態: ")+matcher.toMatchResult()); String result = matcher.group()1); { matcher = matcher.reset(); System.out.println("マッチャーのリセット後の状態: "+matcher.toMatchResult()); { {
出力結果
マッチャーの状態: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,116 lastmatch=<b>is</b>] マッチャーの状態: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,116 lastmatch=<b>example</b>] マッチャーの状態: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,116 lastmatch=<b>script</b>] マッチャーの状態: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,116 lastmatch=<b>every</b>] マッチャーの状態: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,116 lastmatch=<b>>word</b>] マッチャーの状態: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,116 lastmatch=<b>bold</b>] マッチャーの状態: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,116 lastmatch=] マッチャーのリセット後の状態: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,116 lastmatch=]
このメソッドの別バージョンは、文字列データを受け取り、それを使用してマッチャーをリセットします。
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Reset { public static void main(String[] args) { String str = "<p>This<b>is</>b> <b>例<b>です/>b> HTML<b>スクリプト<b>は/>b> <b>すべて<b>の/>b> 代替<b>単語<b>です/>b> bold<b>は/>b></>p>"; //太字タグの内容を正規表現でマッチング String regex = "(\\S+); //パターンオブジェクトを生成 Pattern pattern = Pattern.compile(regex); //正規表現で構文化されたパターンを文字列中にマッチング Matcher matcher = pattern.matcher(str); while (matcher.find()) { System.out.println("マッチャーの状態: ")+matcher.toMatchResult()); String result = matcher.group()1); { matcher = matcher.reset("<b>this</b> is <b>new</b> string <b>after</b> reset"); while (matcher.find()) { System.out.println("マッチャーのリセット後の状態: "+matcher.toMatchResult()); { { {
出力結果
マッチャーの状態: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,116 lastmatch=<b>is</b>] マッチャーの状態: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,116 lastmatch=<b>example</b>] マッチャーの状態: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,116 lastmatch=<b>script</b>] マッチャーの状態: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,116 lastmatch=<b>every</b>] マッチャーの状態: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,116 lastmatch=<b>word</b>] マッチャーの状態: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,116 lastmatch=<b>bold</b>] マッチャーのリセット後の状態: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,51 lastmatch=<b>this</b>] マッチャーのリセット後の状態: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,51 lastmatch=<b>new</b>] マッチャーのリセット後の状態: java.util.regex.Matcher[pattern=<b>(\S+/b> region=0,51 lastmatch=<b>after</b>]