Maison >Java >javaDidacticiel >Comment faire correspondre les virgules en dehors des parenthèses à l'aide d'expressions régulières en Java ?
Faire correspondre des virgules en dehors des parenthèses à l'aide d'expressions régulières
Problème :
Considérons une chaîne contenant plusieurs virgules, telles que "12,44,foo,bar,(23,45,200),6". Le but est de créer une expression régulière en Java qui correspond à toutes les virgules sauf celles entre parenthèses, c'est-à-dire uniquement les virgules après 23 et 45 dans l'exemple donné.
Solution :
Pour y parvenir, nous devons utiliser une expression régulière qui intègre une assertion prospective négative. Voici une expression régulière Java qui satisfait à cette exigence :
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);
Explication :
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!