ホームページ >Java >&#&チュートリアル >Java で正規表現の一致から文字列の配列を作成するにはどうすればよいですか?
正規表現の一致からの配列の作成
Java では、正規表現の一致は通常、パターンが文字列と一致するかどうかを示すブール値として検証されます。ただし、正規表現から一致する文字列を抽出して配列に入れることは可能です。
これを実現するには、Matcher を使用できます。
import java.util.regex.Matcher; import java.util.regex.Pattern; ... List<String> allMatches = new ArrayList<>(); Matcher m = Pattern.compile("your regular expression here").matcher(yourStringHere); while (m.find()) { allMatches.add(m.group()); }
上記のコードはパターンを使用して、 Matcher インスタンスを作成し、一致を繰り返し識別するために使用します。各一致はリストに追加され、
allMatches.toArray(new String[0]);
を使用してリストを配列に変換できます。または、カスタム反復子を作成して一致に対する遅延反復を可能にすることもできます:
public static Iterable<MatchResult> allMatches( final Pattern p, final CharSequence input) { return new Iterable<MatchResult>() { ... }; }
このイテレータを使用すると、一致する可能性のあるすべての一致をすぐに見つける必要がなく、一致を反復処理できます。
コードで示すようにスニペット:
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
MatchResult 実装を使用して一致に反復的にアクセスする方法を示します。
以上がJava で正規表現の一致から文字列の配列を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。