Échapper les caractères meta:
Backslash \ il a de nombreuses utilisations dans l'expression régulière.
Par exemple, nous voulons rechercher dans le texte ci-dessous, en face du point de toutes les chaînes, comprend également point lui-même.
vert pomme orange. orange bananes sont jaunes
Si nous écrivons une expression régulière . * , Vous devez trouver intelligent tout à fait raison
Parce que le point est un méta-caractère, il apparaît directement dans l'expression régulière, ce qui correspond à un seul caractère, ne peut pas être représenté . Le caractère lui - même moyenne
Si nous voulons rechercher le contenu lui-même contient des méta-caractères, peut être échappé avec une barre oblique inverse
Ici , nous devons utiliser cette expression: . * \.
Exemples, procédure python est la suivante:
= Contenu '' 'pomme verte orange est orange. Les bananes sont jaunes. ' '' Importation Re p-re.compile = (r '* \ ..') pour un en p.findall (contenu): Imprimer (un)
Faites correspondre un certains types de caractères
réponse de caractère antislash, qui correspond à un certain type de caractère
comme
\ D entre 0-9 correspondance avec tout caractère numérique, ce qui équivaut à l'expression [0-9]
\ D correspond à tout caractère n'est pas un nombre compris entre 0-9, ce qui équivaut à l'expression [^ 0-9]
\ S correspond à un caractère d'espaces y compris l'espace, tabulation, nouvelle ligne, équivalente à l'expression [\ t \ n \ r \ f \ v]
\ S correspond à un caractère non blanc, ce qui correspond à l'expression [^ \ t \ n \ r \ f \ v]
\ W correspond à tous les caractères de texte, y compris les lettres majuscules et minuscules, des chiffres, des traits de soulignement, ce qui équivaut à l'expression [a-zA-Z0-9_]
\ W correspond à un caractère non-texte, ce qui équivaut à l'expression [^ a-zA-Z0-9_]
Doseret également être utilisé entre crochets, par exemple [\ s,.] Jeu représente: un caractère d'espacement, ou une virgule ou un point
Par exemple:
source = '' ' 王亚辉 tony 刘文武 ''' import re p = re.compile (r '\ w {2,4}', RE.A) impression (p.findall (source)) '' '[' tony ']' ''
Les crochets - certains types de correspondance
Les crochets indiquent que vous voulez faire correspondre certains types de caractères
comme
[Abc] correspond à aucun a, b, c ou à l' intérieur d' un caractère équivalent à [AC]
[AC] milieu - représente une plage de a à c
Si vous voulez faire correspondre toutes les lettres minuscules, vous pouvez utiliser [az]
Certains métacaractères ont perdu la magie entre crochets, et devient le même que les caractères ordinaires
Par exemple,
[AKM.] Match de AKM. Que tout caractère
Ici . Entre parenthèses sont correspondent à aucun caractère, mais indique plutôt un match . Ce personnage
Position de départ
^ Représentant la position de départ du texte correspondant
S'il est un mode multi-ligne, pour indiquer le début de chaque position de ligne du texte correspondant
Par exemple, le texte suivant que vous souhaitez sélectionner chaque ligne devant une chaîne de caractères par des virgules, y compris des virgules soi
Pommes, vert pomme orange, orange est orange banane, jaune banane
Vous pouvez écrire une expression régulière ^. *.
Si entre crochets ^ représente un non-ensemble de caractères à l' intérieur des crochets ( [^ \ D] , ladite choisi caractère non numérique)
Par exemple:
content = 'a1b2c3d4e5' import re p = re.compile (r '[^ \ d]') pour une dans p.findall (contenu): print (une) '' ' 输出结果: a b c d e '''