Java Équivalent à preg_replace_callback de PHP
La fonction PHP preg_replace_callback() appelle une fonction de rappel pour chaque correspondance trouvée dans une expression régulière. Java offre-t-il une fonctionnalité équivalente ?
L'alternative de Java : adopter l'approche native
Bien que Java ne fournisse pas d'équivalent direct à preg_replace_callback(), il nous donne le pouvoir avec une approche alternative tirant parti de Matcher et StringBuffer. Voici comment obtenir des résultats similaires :
Étape 1 : Compiler l'expression régulière
Matcher regexMatcher = regex.matcher(subjectString);
Étape 2 : Parcourir les correspondances
while (regexMatcher.find())
Étape 3 : Modifier le texte de remplacement de manière dynamique
regexMatcher.appendReplacement(resultString, "replacement");
Étape 4 : ajouter la queue de contexte
regexMatcher.appendTail(resultString);
Exemple :
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);
En suivant ces étapes, vous pouvez réutiliser votre code PHP de manière transparente en Java et gérer gracieusement les correspondances d'expressions régulières avec des remplacements personnalisés.
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!