Lors de la transition de code de PHP vers Java, un défi courant se pose pour trouver un équivalent pour la fonction preg_replace_callback() de PHP. Cette fonction permet d'utiliser une fonction de rappel pour chaque correspondance dans une expression régulière, en passant le texte de la correspondance comme argument.
Considérez le code PHP suivant :
$articleText = preg_replace_callback("/\[thumb(\d+)\]/",'thumbReplace', $articleText); function thumbReplace($matches) { global $photos; return "<img src=\"thumbs/" . $photos[$matches[1]] . "\">"; }
En Java, une approche comparable peut être obtenue en utilisant les méthodes appendReplacement() et appendTail() dans une boucle :
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);
Ce code offre la flexibilité de personnalisez le texte de remplacement de manière dynamique pour chaque correspondance, en imitant la fonctionnalité de rappel en PHP.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!