ホームページ  >  記事  >  バックエンド開発  >  PHP の preg_replace_callback() に相当する Java はありますか?

PHP の preg_replace_callback() に相当する Java はありますか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-07 12:15:02224ブラウズ

Is There a Java Equivalent to PHP's preg_replace_callback()?

Java PHP の preg_replace_callback と同等

PHP 関数 preg_replace_callback() は、正規表現で見つかった一致ごとにコールバック関数を呼び出します。 Java は同等の機能を提供していますか?

Java の代替案: ネイティブ アプローチの採用

Java は preg_replace_callback() と直接同等の機能を提供しませんが、それによって私たちは可能になります。 Matcher と StringBuffer を活用した別のアプローチを使用します。同様の結果を達成する方法は次のとおりです。

ステップ 1: 正規表現をコンパイルします

Matcher regexMatcher = regex.matcher(subjectString);

ステップ 2: 一致を反復処理します

while (regexMatcher.find())

ステップ 3: 置換テキストを動的に変更します

regexMatcher.appendReplacement(resultString, "replacement");

ステップ 4: コンテキスト末尾を追加する

regexMatcher.appendTail(resultString);

例:

StringBuffer resultString = new StringBuffer();
Pattern regex = Pattern.compile("\[thumb(\d+)\]");
Matcher regexMatcher = regex.matcher(subjectString);
while (regexMatcher.find()) {
  regexMatcher.appendReplacement(resultString, "<img src=\"thumbs/" + photos[regexMatcher.group(1)] + "\">");
}
regexMatcher.appendTail(resultString);

これらの手順に従うことで、PHP コードを Java でシームレスに再利用し、カスタム置換による正規表現の一致を適切に処理できます。

以上がPHP の preg_replace_callback() に相当する Java はありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。