Si vous êtes intéressé par ce qui se passe lorsque vous utilisez |
opérateur d'alternance
, la réponse est simple :le moteur regex traite l'expression et la chaîne d'entrée de gauche à droite .
En prenant le modèle que vous avez comme exemple, ^.{8}|.{12}$|.{4}
commence à inspecter la chaîne d'entrée à partir de la gauche et recherche ^.{8}
- 8 premiers caractères. Les trouve et c'est un match. Ensuite, continue et trouve les 12 derniers caractères avec .{12}$
, et encore une fois il y a un match. Ensuite, toutes les chaînes de 4 caractères sont mises en correspondance.
Ensuite, vous avez ^.{8}|.{4}|.{12}$
. L'expression est à nouveau analysée de gauche à droite, les 8 premiers caractères correspondent en premier, mais ensuite, seules les séquences de 4 caractères seront mises en correspondance, .{12}
ne se déclenchera jamais car il y aura .{4}
matchs !