Les expressions régulières peuvent souvent être utilisées pour l'analyse de chaînes. Utiliser capture groups
(entre parenthèses) pour obtenir les différentes parties de la ligne pour être analysée.
Par exemple, pour analyser une expression comme foo: [3 4 56]
, l'utilisation de l'expression (.*): \[(\d+) (\d+) (\d+)\]
. Le premier groupe de capture contient "toto", les deuxième, troisième et quatrième contiendra les numéros 3, 4 et 56.
S'il y a plusieurs formats de chaîne qui doivent être analysées, comme dans l'exemple donné par les OP, soit appliquer séparer les expressions régulières, un par un, et de voir celui qui correspond à, ou écrire une expression régulière qui correspond à toutes les variations possibles, généralement à l'aide de l' |
(ensemble de l'union) de l'opérateur.
Les expressions régulières sont très souples, de sorte que l'expression peut être prolongée pour permettre à plus de variations, par exemple, un nombre arbitraire d'espaces et d'autres espaces après l' :
dans l'exemple. Ou pour autoriser uniquement les numéros de contenir un certain nombre de chiffres.
Comme un bonus supplémentaire, les expressions régulières fournir une validation implicite, car ils nécessitent un match parfait. Par exemple, si le nombre 56
dans l'exemple ci-dessus a été remplacé par 56x
, le match serait un échec. Cela peut aussi simplifier le code comme dans l'exemple ci-dessus, les groupes contenant les nombres peuvent être en toute sécurité exprimées en nombres entiers sans aucune vérification supplémentaire étant nécessaire après un match de succès.
Les expressions régulières habitude de courir à la bonne performance et il y a beaucoup de bibliothèques de qualité, a choisi de partir. Par exemple, le coup de pouce.Regex.