ホームページ >Java >&#&チュートリアル >Java ですべての正規表現一致を配列に抽出するにはどうすればよいですか?
Java では、正規表現一致の配列を直接取得できないため、困惑するかもしれません。このガイドでは、この課題に対処し、正規表現に準拠するすべての文字列をキャプチャするソリューションを提供します。
これらの一致を取得する鍵は、次の出現箇所を反復的に検索するマッチャーの利用にあります。
import java.util.regex.Matcher; import java.util.regex.Pattern; List<String> allMatches = new ArrayList<>(); Matcher m = Pattern.compile("your regex expression here") .matcher(yourStringHere); while (m.find()) { allMatches.add(m.group()); }
allMatches に一致を設定した後、次の場合は配列に変換できます。 required:
allMatches.toArray(new String[0]);
または、MatchResult を使用して照合操作を簡素化することを検討することもできます。 allMatches:
public static Iterable<MatchResult> allMatches( final Pattern p, final CharSequence input) { ... }
のようなヘルパー関数を使用すると、次のような一致を反復できます。
for (MatchResult match : allMatches(Pattern.compile("[abc]"), "abracadabra")) { System.out.println(match.group() + " at " + match.start()); }
出力の提供:
a at 0 b at 1 a at 3 c at 4 a at 5 a at 7 b at 8 a at 10
以上がJava ですべての正規表現一致を配列に抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。