Point <<< |
Crochets | Barre verticale >>> |
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 |
Crochets
Un crochet ouvrant [ introduit une classe de caractères, et le crochet fermant ] la conclut. Le crochet fermant n'a pas de signification en lui-même. Si le crochet fermant est nécessaire à l'intérieur d'une classe de caractères, il faut qu'il soit le premier caractère (après un ^ éventuel) ou échappé avec un anti-slash. Une classe de caractères remplace un seul caractère dans la chaîne sujet, à moins que le premier caractère de la classe soit un accent circonflexe ^ , qui représente une négation : le caractère ne doit pas se trouver dans la classe. Si ^ est nécessaire dans la classe, il suffit qu'il ne soit pas le premier caractère, ou bien qu'il soit échappé avec un anti-slash. Par exemple, le caractère [aeiou] remplace n'importe quelle voyelle minuscule, tandis que [^aeiou] remplace n'importe quelle caractère qui n'est pas une voyelle minuscule. ^ est une notation pratique pour spécifier des caractères qui sont dans une classe, en ne citant que ceux qui n'y sont pas. Le comportement est inchangé. Avec l'option d'insensibilité à la casse, toutes les lettres d'une classe de caractères représentent en même temps la majuscule et la minuscule. Par exemple, [aeiou] représentera " A " ou " a ", et [^aeiou] n'acceptera pas ni " A ", tandis que sans l'option, elle l'accepterait. Le caractère de nouvelle ligne n'est pas traité de manière spéciale dans les classes de caractères, quelque soit l'option PCRE_DOTALL ou PCRE_MULTILINE . Une classe telle que [^a] acceptera toujours une nouvelle ligne. Le signe moins ( - ) est utilisé pour spécifier un intervalle de caractères, dans une classe. Par exemple, [d-m] remplace toutes les lettres entre d et m inclus. Si le caractère moins est requis dans une classe, il faut l'échapper avec un anti-slash, ou le faire apparaître à une position où il ne pourra pas être interprété comme une indication d'intervalle, c'est-à-dire au début ou à la fin de la classe. Il n'est pas possible d'avoir le caractère crochet fermant " ] " comme fin d'intervalle. Un masque tel que [W-]46] est compris comme la classe de caractères contenant deux caractères ("W" et "-") suivie de la chaîne littérale "46]", ce qui fait qu'il va accepter " W46] " ou " -46] ". Cependant, si " ] " est échappé avec un anti-slash, le masque [W-\]46] est interprété comme une classe d'un seul caractère, contenant un intervalle de caractères. La valeur octale ou hexadécimale de " ] " peut aussi être utilisée pour déterminer les limites de l'intervalle. Les intervalles travaillent sur des séquences ASCII. Ils peuvent aussi être précisés avec des valeurs numériques : par exemple " [\000-\037] ". Si cet intervalle inclut des lettres utilisées avec une option d'insensibilité de casse, les majuscules ou minuscules correspondantes seront aussi incluses. Par exemple, " [C-c] " est équivalent à " [][\^_`wxyzabc] ", avec l'option d'insensibilité de casse. Si la table locale de caractères est "fr", " [\xc8-\xcb] " correspond aux caractères accentués. Les types de caractères \d , \D , \S , \s , \w , \W peuvent aussi intervenir dans les classes de caractères. Par exemple, " [][\^_`wxyzabc][\dABCDEF] " acceptera n'importe quel caractère hexadécimal. Un accent circonflexe peut aussi être utilisé pour spécifier adroitement des ensembles de caractères plus restrictifs : par exemple [^\W_] accepte toutes les lettres et les chiffres, mais pas les soulignés. Tous les caractères non alpha- numériques autres que \, -, ^ (placés en début de chaîne) et ] n'ont pas de signification particulière, mais ils ne perdront rien à être échappés. |
<< | Crochets | >> |
Point | Détails sur les expressions rationnelles | Barre verticale |