python expression régulière (\ []) (c)

É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 
'''

  

 

Je suppose que tu aimes

Origine www.cnblogs.com/wxcx/p/12643156.html
conseillé
Classement