Maison > développement back-end > tutoriel php > Existe-t-il un équivalent Java au preg_replace_callback() de PHP ?

Existe-t-il un équivalent Java au preg_replace_callback() de PHP ?

Mary-Kate Olsen
Libérer: 2024-11-07 12:15:02
original
329 Les gens l'ont consulté

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

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);
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal