Faire correspondre des virgules hors parenthèses avec des expressions régulières Java
Étant donné une chaîne avec des virgules potentiellement placées entre parenthèses, l'objectif est d'identifier les virgules qui sont ne figure dans aucun groupement de parenthèses. Ceci peut être réalisé grâce à une expression régulière personnalisée.
Solution Java Regex
En supposant l'absence de parenthèses imbriquées dans la chaîne d'entrée, l'expression régulière Java suivante peut être utilisée :
Pattern regex = Pattern.compile( ", # Match a comma\n" + "(?! # only if it's not followed by...\n" + " [^(]* # any number of characters except opening parens\n" + " \) # followed by a closing parens\n" + ") # End of lookahead", Pattern.COMMENTS);
Ce modèle d'expression régulière exploite une assertion d'anticipation négative pour vérifier que la parenthèse consécutive suivante (si présente) n'est pas une parenthèse fermante. Ce n'est que dans ce scénario que la virgule peut être mise en correspondance.
Utilisation et explication
Le modèle est divisé en deux composants principaux :
En excluant les virgules entre parenthèses, cette expression régulière capture efficacement uniquement les virgules qui existent en dehors de tout regroupement de parenthèses.
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!