ホームページ  >  記事  >  バックエンド開発  >  PHP の preg_replace_callback() 機能を Java で実現するにはどうすればよいですか?

PHP の preg_replace_callback() 機能を Java で実現するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-07 14:55:031005ブラウズ

How to Achieve PHP's preg_replace_callback() Functionality in Java?

PHP の preg_replace_callback の Java 代替手段

コードを PHP から Java に移行する場合、PHP の preg_replace_callback() 関数と同等のものを見つけるという共通の課題が発生します。この関数を使用すると、正規表現内の一致ごとにコールバック関数を使用でき、一致テキストを引数として渡します。

PHP の例

次の PHP コードを考えてみましょう:

$articleText = preg_replace_callback("/\[thumb(\d+)\]/",'thumbReplace', $articleText);

function thumbReplace($matches) {
   global $photos;
   return "<img src=\"thumbs/" . $photos[$matches[1]] . "\">";
}

Java と同等

Java では、ループ内で appendReplacement() メソッドと appendTail() メソッドを使用して同等のアプローチを実現できます。

StringBuffer resultString = new StringBuffer();
Pattern regex = Pattern.compile("regex");
Matcher regexMatcher = regex.matcher(subjectString);
while (regexMatcher.find()) {
  // Vary replacement text dynamically for each match
  regexMatcher.appendReplacement(resultString, "replacement");
}
regexMatcher.appendTail(resultString);

このコードは、次のような柔軟性を提供します。 PHP のコールバック機能を模倣して、一致ごとに置換テキストを動的にカスタマイズします。

以上がPHP の preg_replace_callback() 機能を Java で実現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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