Maison  >  Article  >  développement back-end  >  Explication de tous les symboles dans les expressions régulières

Explication de tous les symboles dans les expressions régulières

巴扎黑
巴扎黑original
2017-04-20 18:02:153234parcourir

De nombreux symboles d'expression régulière sont apparus auparavant. Cet article vous donnera un résumé de tous les symboles couramment utilisés.

Toutes les explications des symboles

Description du caractère

Marquez le caractère suivant comme un caractère spécial, un caractère littéral ou une référence arrière ou un octal caractère d'échappement. Par exemple, « n » correspond au caractère « n ». 'n' correspond à un caractère de nouvelle ligne. La séquence '\' correspond à "" et "(" correspond à "(".

^ correspond au début de la chaîne d'entrée. Si la propriété Multiline de l'objet RegExp est définie, ^ correspond également à 'n' ou 'r '

$ correspond à la fin de la chaîne d'entrée. Si la propriété Multiline de l'objet RegExp est définie, $ correspond également à la position avant 'n' ou 'r' Correspond à la sous-expression précédente zéro ou plus. fois. Par exemple, zo* peut correspondre à "z" et "zoo". * est équivalent à {0,} Correspond à la sous-expression précédente une ou plusieurs fois. Par exemple, 'zo+' peut correspondre à "zo" mais pas. "z". + équivaut à {1,}. 

 ? Correspond à la sous-expression précédente zéro fois ou une fois. Par exemple, "do(es) ?" Does" ? est équivalent à {0,1} n est un nombre non négatif. Entier. Correspond à un certain nombre de fois. Par exemple, 'o{2}' ne peut pas correspondre au 'o' dans "Bob", mais il peut correspond à deux o dans "food". Est un entier non négatif. Correspond au moins n fois. Par exemple, "o{2,}" ne peut pas correspondre à "o" dans "Bob", mais peut correspondre à tous les "o{1,". }' dans "foooood". Équivalent à 'o+'. 'o{0,}' équivaut à 'o*'

{n,m} m et n sont tous deux des entiers non négatifs, où. n

? Lorsque ce caractère est suivi d'un autre limiteur (*, +, ?, {n}, {n,}, {. n,m}. ), le modèle de correspondance est non gourmand. Le modèle non gourmand correspond le moins possible à la chaîne recherchée, tandis que le modèle gourmand par défaut correspond à la plus grande partie possible de la chaîne recherchée. la chaîne "oooo", "o+?" correspondra à un seul "o", tandis que "o+" correspondra à n'importe quel "o"

. Correspond à n'importe quel caractère, y compris "n". comme '[.n]'

(motif) pour faire correspondre le motif et obtenir cette correspondance. Les correspondances obtenues peuvent être obtenues à partir de la collection Matches générée, en utilisant la collection SubMatches dans VBScript ou les propriétés $0…$9 dans JScript. Pour faire correspondre les caractères entre parenthèses, utilisez « ( » ou «) ».

(?:pattern) correspond au modèle mais n'obtient pas le résultat correspondant, ce qui signifie qu'il s'agit d'une correspondance sans acquisition et n'est pas stocké pour une utilisation ultérieure. Ceci est utile lorsque vous utilisez le caractère « ou » (|) pour combiner des parties d'un motif. Par exemple, « industr(?:y|ies) est une expression plus courte que « industry|industries ».

(?=modèle) Recherche directe, fait correspondre la chaîne de recherche au début de toute chaîne correspondant au modèle. Il s'agit d'une correspondance sans récupération, c'est-à-dire qu'il n'est pas nécessaire de récupérer la correspondance pour une utilisation ultérieure. Par exemple, « Windows (?=95|98|NT|2000) » correspond à « Windows » dans « Windows 2000 » mais pas à « Windows » dans « Windows 3.1 ». La prélecture ne consomme pas de caractères, c'est-à-dire qu'après une correspondance, la recherche de la correspondance suivante commence immédiatement après la dernière correspondance, plutôt qu'après le caractère contenant la prélecture.

(?!pattern) Recherche négative, correspond à la chaîne de recherche au début de toute chaîne qui ne correspond pas au modèle. Il s'agit d'une correspondance sans récupération, c'est-à-dire qu'il n'est pas nécessaire de récupérer la correspondance pour une utilisation ultérieure. Par exemple, « Windows (?!95|98|NT|2000) » peut correspondre à « Windows » dans « Windows 3.1 », mais pas à « Windows » dans « Windows 2000 ». La pré-vérification ne consomme pas de caractères, c'est-à-dire qu'après une correspondance, la recherche de la correspondance suivante commence immédiatement après la dernière correspondance, plutôt que de commencer après les caractères contenant la pré-vérification

x|y Correspondances x ou y. Par exemple, « z|food » correspond à « z » ou « food ». '(z|f)ood' correspond à « zood » ou « food ».

[xyz] jeu de caractères. Correspond à l'un des caractères contenus. Par exemple, « [abc] » correspond à « a » dans « plain ».

[^xyz] Jeu de caractères de valeur négative. Correspond à n’importe quel caractère non inclus. Par exemple, « [^abc] » correspondrait à « p » dans « plain ».

[a-z] Plage de caractères. Correspond à n’importe quel caractère dans la plage spécifiée. Par exemple, « [a-z] » correspond à n’importe quel caractère alphabétique minuscule compris entre « a » et « z ».

[^a-z] Plage de caractères négative. Correspond à tout caractère ne se trouvant pas dans la plage spécifiée. Par exemple, « [^a-z] » correspond à tout caractère qui n'est pas compris entre « a » et « z ».

b Correspond à une limite de mot, qui fait référence à la position entre un mot et un espace. Par exemple, « erb » correspond au « er » dans « jamais » mais pas au « er » dans « verbe ».

B Correspond aux limites autres que les mots. « erB » correspond au « er » dans « verbe », mais pas au « er » dans « jamais ».

cx Correspond au caractère de contrôle spécifié par x. Par exemple, cM correspond à un caractère Control-M ou à un retour chariot. La valeur de x doit être A-Z ou a-z. Sinon, c est traité comme un caractère « c » littéral.

d correspond à un caractère numérique. Équivalent à [0-9].

D correspond à un caractère non numérique. Équivalent à [^0-9].

f correspond à un saut de formulaire. Équivalent à x0c et cL.

n correspond à un caractère de nouvelle ligne. Équivalent à x0a et cJ.

r correspond à un caractère de retour chariot. Équivalent à x0d et cM.

s correspond à n'importe quel caractère d'espacement, y compris les espaces, les tabulations, les sauts de formulaire, etc. Équivalent à [fnrtv].

S correspond à tout caractère autre qu'un espace. Équivalent à [^ fnrtv].

t correspond à un caractère de tabulation. Équivalent à x09 et cI.

v correspond à un caractère de tabulation verticale. Équivalent à x0b et cK.

w Correspond à n'importe quel caractère de mot, y compris un trait de soulignement. Équivalent à '[A-Za-z0-9_]'.

W correspond à n'importe quel caractère autre qu'un mot. Équivalent à « [^A-Za-z0-9_] ».

xn correspond à n, où n est la valeur d'échappement hexadécimale. La valeur d’échappement hexadécimale doit comporter exactement deux chiffres. Par exemple, « x41 » correspond à « A ». « x041 » est équivalent à « x04 » et « 1 ». Le codage ASCII peut être utilisé dans les expressions régulières. .

num correspond à num, où num est un entier positif. Une référence au match obtenu. Par exemple, « (.)1 » correspond à deux caractères identiques consécutifs.

n identifie une valeur d'échappement octale ou une référence arrière. Si n est précédé d'au moins n sous-expressions récupérées, n est une référence vers l'arrière. Sinon, si n est un nombre octal (0-7), alors n est une valeur d'échappement octale.

nm identifie une valeur d'échappement octale ou une référence arrière. nm est une référence vers l'arrière si nm est précédé d'au moins nm sous-expressions pouvant être obtenues. Si nm est précédé d'au moins n, alors n est une référence vers l'arrière suivie du littéral m. Si aucune des conditions précédentes n'est vraie et si n et m sont tous deux des chiffres octaux (0-7), nm correspondra à la valeur d'échappement octale nm.

nml Si n est un nombre octal (0-3) et que m et l sont tous deux des chiffres octaux (0-7), alors correspond à la valeur d'échappement octale nml.

un correspond à n, où n est un caractère Unicode représenté par quatre chiffres hexadécimaux. Par exemple, u00A9 correspond au symbole de droit d'auteur (?).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn