Maison  >  Article  >  développement back-end  >  Explication détaillée des expressions régulières Python

Explication détaillée des expressions régulières Python

silencement
silencementoriginal
2019-06-05 11:03:384021parcourir

Explication détaillée des expressions régulières Python

Le concept d'expressions régulières

Une expression régulière est une formule logique pour les opérations sur les chaînes, qui utilise des caractères spécifiques prédéfinis et des combinaisons de ceux-ci des caractères spécifiques forment une "chaîne de règles". Cette "chaîne de règles" est utilisée pour exprimer une logique de filtrage des chaînes.

Les règles de syntaxe des expressions régulières

Le processus de correspondance grossière des expressions régulières est le suivant :

Supprimer les expressions et comparer. de caractères dans le texte,

2. Si chaque caractère peut être mis en correspondance, la correspondance est réussie ; s'il y a un caractère qui ne correspond pas avec succès, la correspondance échoue.

3. S'il y a des quantificateurs ou des limites dans l'expression, le processus sera légèrement différent.

Voici quelques règles de correspondance pour les expressions régulières en Python

Mode

Description

^

correspond au début de la chaîne

$

Correspond à la fin de la chaîne.

.

correspond à tout sauf aux nouvelles lignes (n) N'importe quel caractère, lorsque la balise re.DOTALL est spécifiée, peut correspondre à n'importe quel caractère, y compris les caractères de nouvelle ligne.

[...]

est utilisé pour représenter un groupe de caractères, répertoriés séparément : [amk] correspond à 'a', 'm' ou 'k'

[^...]

Caractères non compris dans [] : [^abc] correspond aux caractères sauf a, b, c.

re*

correspond à 0 ou plusieurs expressions.

re+

Correspond à 1 ou plusieurs expressions.

re?

correspond à 0 ou 1 fragment défini par l'expression régulière précédente, de manière non gourmande

re{ n}

re{ n,}

Correspond exactement à n expressions précédentes.

re{ n, m}

Faire correspondre n à m fois le fragment défini par l'expression régulière précédente, de manière gourmande

a| b

correspond à a ou b

(re)

G correspond entre parenthèses Expression, représente également un groupe

(?imx)

Les expressions régulières contiennent trois indicateurs facultatifs : i, m ou x. N'affecte que la zone entre parenthèses.

(?-imx)

Expression régulière pour désactiver les indicateurs facultatifs i, m ou x. N'affecte que la zone entre parenthèses.

(?:re)

est similaire à (...), mais ne représente pas un groupe

(?imx: re)

Utilisez i, m ou x drapeaux facultatifs entre parenthèses

(?-imx:re)

N'utilisez pas les indicateurs facultatifs i, m ou x entre parenthèses

( ?#...)

Remarque.

(?= re)

Délimiteur positif avant. Réussit si l'expression régulière contenue, notée ... , correspond avec succès à la position actuelle, sinon elle échoue. Mais une fois l'expression contenue essayée, le moteur de correspondance ne s'améliore pas du tout ; le reste du modèle doit encore essayer le côté droit du délimiteur.

(?! re)

Délimiteur négatif avant. L'opposé du délimiteur positif ; réussit lorsque l'expression contenue ne peut pas correspondre à la position actuelle dans la chaîne

(?>re)

Correspondance d'un modèle indépendant, éliminant le retour en arrière.

w

correspond aux lettres, aux chiffres et aux traits de soulignement, équivalent à « [A-Za-z0-9_] ».

W

correspond aux caractères non alphanumériques et aux traits de soulignement, équivalents à « [^A-Za-z0-9_] ».

s

correspond à n'importe quel caractère d'espacement, équivalent à [tnrf].

S

correspond à tout caractère non vide, équivalent à [^ fnrtv].

d

correspond à n'importe quel nombre, équivalent à [0-9].

D

correspond à tout non-nombre, équivalent à [^0-9].

A

Correspond au début de la chaîne

Z

correspond à la fin de la chaîne. S'il y a une nouvelle ligne, seule la fin de la chaîne avant la nouvelle ligne correspond. c

z

fin de la chaîne correspondante

G

Correspond à la position où le dernier match s'est terminé.

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 des mots. « erB » correspond à « er » dans « verbe » mais pas dans « jamais ».

n, t, etc.

correspond à un caractère de nouvelle ligne. Correspond à un caractère de tabulation. Attendez

1...9

correspond au contenu du nième groupe.

10

Correspond au contenu du nième groupe s'il correspond. Sinon, il s'agit de l'expression du code de caractère octal.

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