Maison >Java >javaDidacticiel >Comment puis-je utiliser Regex en Java pour faire correspondre des modèles uniquement lorsqu'ils ne sont pas précédés de caractères spécifiques ?
Correspondance de modèles non précédés de caractères spécifiques à l'aide de Regex
En Java, les expressions régulières offrent un moyen puissant de faire correspondre des modèles dans des chaînes. Parfois, vous devrez peut-être faire correspondre un motif uniquement s'il n'est pas précédé de certains caractères. En tirant parti du lookbehind négatif, l'expression régulière vous permet d'y parvenir.
Problème :
Considérez la chaîne suivante :
String s = "foobar barbar beachbar crowbar bar ";
Nous souhaitons faire correspondre toutes les occurrences de « bar » qui ne sont pas immédiatement précédées de « foo ». Le résultat souhaité serait :
barbar beachbar crowbar bar
Solution :
Pour accomplir cette tâche, nous pouvons utiliser le modèle d'expression régulière suivant :
\w*(?<!foo)bar
Décomposer le modèle :
En utilisant ce modèle, nous pouvons réussir à faire correspondre les occurrences de "bar" qui ne sont pas précédées de "foo". Le résultat reflétera le résultat souhaité.
Remarques supplémentaires :
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!