Options internes <<< |
Sous-masques | Répétitions >>> |
6.33.9.1 Détails sur les expressions rationnelles 6.33.9 syntaxe des masques 6.33 Expressions rationnelles compatibles Perl 6 Référence des fonctions Manuel PHP . Introduction . Méta-caractères . Anti-slash . Propriétés des caractères Unicode . Accent circonflexe et Dollar . Point . Crochets . Barre verticale . Options internes ->Sous-masques . Répétitions . Références arrières . Assertions . Sous-masques uniques . Les sous-masques conditionnels . Commentaires . Masques récursifs . Performances |
Sous-masques
Les sous-masques sont délimités par des parenthèses, et peuvent être imbriqués. Ajouter des sous-masques a deux utilités : 1. Délimiter des alternatives. Par exemple, le masque char(don|mant|) acceptera les mots " char ", " charmant ", ou " charmant ". Sans les parenthèses, il n'accepterait que " chardon ", " mant " ou la chaîne vide "". 2. Le sous-masque est considéré comme capturant : lorsqu'une chaîne sujet est acceptée par le masque complet, les sous-masques sont transmis à l'appelant grâce à un vecteur de sous-masques. Les parenthèses ouvrantes sont comptées de gauche à droite, (commençant à 1). Par exemple, soit la chaîne sujet " le roi soleil " qui est utilisée avec le masque suivant : Le ((roi|prince) (soleil|charmant)) les sous-masques capturés sont " roi soleil ", " roi ", et " soleil ", numérotés respectivement 1, 2, et 3. L'ubiquité des parenthèses n'est pas toujours simple d'emploi. Il y a des moments où regrouper des sous-masques est nécessaire, sans pour autant capturer la valeur trouvée. Si une parenthèse ouvrante est suivie de " ?: ", le sous-masque ne capture pas la chaîne assortie, et ne sera pas compté lors de la numérotation des captures. Par exemple, avec la chaîne " le prince charmant ", utilisé avec le masque Le (( ?roi|prince) (soleil|charmant)) les chaînes capturées seront " prince charmant " et " charmant ", numérotés respectivement 1 et 2. Le nombre maximal de chaînes capturées est de 99, et le nombre total de sous-masques (capturant ou non) ne doit pas dépasser 200. (?i:samedi|dimanche) et (?:(?i) samedi | dimanche) : de plus, comme les séquences d'options sont valables sur toute une alternative, les masques ci-dessus accepteront aussi bien "DIMANCHE" que "Dimanche". Il est possible de nommer le sous-masque avec (?P<name>pattern) depuis PHP 4.3.3. Les tableaux avec les masques doivent contenir le masque indexé par la chaîne à côté le masque indexé par le numéro. |
<< | Sous-masques | >> |
Options internes | Détails sur les expressions rationnelles | Répétitions |