コードを PHP から Java に移行する場合、PHP の preg_replace_callback() 関数と同等のものを見つけるという共通の課題が発生します。この関数を使用すると、正規表現内の一致ごとにコールバック関数を使用でき、一致テキストを引数として渡します。
次の PHP コードを考えてみましょう:
$articleText = preg_replace_callback("/\[thumb(\d+)\]/",'thumbReplace', $articleText); function thumbReplace($matches) { global $photos; return "<img src=\"thumbs/" . $photos[$matches[1]] . "\">"; }
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 サイトの他の関連記事を参照してください。