J'ai rencontré un petit problème hier. J'avais besoin de traiter certains utilisateurs par lots. Le format des utilisateurs envoyés depuis la réception était le suivant. Je souhaitais extraire le contenu entre parenthèses (sans parenthèses).
Enseignant 10(0010)
Enseignant 11(0011)
Enseignant 9(009)
Enseignant 12(0012)
Enseignant 13(0013)
Enseignant 14(0014)
À l'origine, je voulais utiliser String.split() et substring() de Java pour le faire, mais il était difficile de le traiter plusieurs fois, j'ai donc utilisé des expressions régulières. Même si j'ai presque oublié la syntaxe, je pense qu'il est plus pratique d'utiliser des assertions (l'essentiel est d'espérer que les résultats n'ont pas de parenthèses). Ouvrez RegexBuddy et essayez-le, et c'est facile à faire :
Voici le code d'implémentation Java :
Enfin, voici les assertions de largeur nulle utilisées :
large affirmation | (?=exp) | Faites correspondre la position avant exp |
---|---|---|
(?<=exp) | Faites correspondre la position après exp | |
(?!exp) | Correspond à une position qui n'est pas suivie par exp | |
(?<!exp) | Faites correspondre la position qui n'est pas précédée de exp |