Pyhon expressions régulières

python expression régulière caractères spéciaux

caractère description
\ Le caractère suivant est marqué comme un caractère spécial, ou un caractère littéral, ou une référence vers l'arrière, ou une évasion octal. Par exemple, « n » correspond au caractère « n ». « \ ​​N » correspond à un saut de ligne. Séquence '\\' \ "correspondances" et "\ (" le match "(."
^ Correspond au début de la chaîne. Si l'objet est défini la propriété RegExp multiligne, correspond aussi ^ « \ n » ou position après « \ r ».
$ Correspond à la fin d'entrée de la chaîne. Si l'objet est défini la propriété RegExp multiligne, $ correspond également la position avant le « \ n » ou « \ r ».
* Zéro correspond à la sous-expression précédente ou plusieurs fois. Par exemple, zo matchs * "z" et "zoo". * Équivaut à {0}.
+ Correspond à la sous-expression précédente une ou plusieurs fois. Par exemple, « zo + » correspondra à « zo » et « zoo », mais ne peut pas correspondre à la « z ». + Équivaut à {1}.
? Correspond à la sous-expression précédente zéro ou un. Par exemple, « faire (es)? » Correspond à « faire » ou « ne » dans le « faire ». ? Est équivalent à {0,1}.
{N} n est un entier non négatif. Correspondant à n fois déterminés. Par exemple, « o {2} » ne correspond pas au « Bob » dans le « o », mais peut correspondre à la « nourriture » dans les deux o.
{N,} n est un entier non négatif. Correspondant à au moins n fois. Par exemple, « o {2,} » ne correspond pas au « Bob » dans le « o », mais il peut correspondre à tous o « foooood » dans. 'O {1,}' est équivalent à 'o +'. 'O {0,}' est équivalent à 'o *'.
{N, m} m et n sont des nombres entiers non négatifs, où n <= m. Faites correspondre au moins n fois et correspondre aux temps m. dans les trois précédents o Par exemple, « o {1,3} » correspondra à « foooooot ». 'O {0,1}' est équivalent à 'o?'. S'il vous plaît noter qu'il n'y a pas d'espace entre la virgule et les deux numéros.
? Lorsque le caractère immédiatement à tout autre qualificatif (*, +,?, {N}, {n,}, {n, m}) lorsque l'arrière, correspondant au motif non gourmand. motif non avides matchs aussi peu que possible la chaîne de recherche, et les matches de motif gourmands par défaut comme une grande partie de la recherche de chaînes. Par exemple, la chaîne "oooo", 'o +?' Correspond à un "o" et 'o +' correspond à tous les 'o'.
. Un caractère unique sauf « \ n » est. Pour inclure correspondre '\ n', y compris tout caractère, comme l'utilisation de '[. \ N]' mode.
(modèle) Faites correspondre le modèle et obtenir le match. La correspondance peut être obtenu à partir des correspondances ont été utilisés dans la collecte SubMatches VBScript, JScript est utilisé dans les $ 0 ... 9 $ propriétés. Pour faire correspondre les caractères de parenthèses, utilisez « \ ( » ou '\).
(?:modèle) Mais de ne pas acquérir les résultats correspondants de modèle correspondant, que ce soit un match non-accès, ne sont pas stockées pour une utilisation ultérieure. Cette utilisation de « ou » caractère (|) pour combiner les différentes parties d'un modèle est utile. Par exemple, « Termina (: Y | s) est un rapport de l'industrie » | plus brèves expressions industries'.
(? = Motif) Positif pré-enquête, correspondant à la chaîne de recherche au début d'une chaîne de modèle de correspondance. C'est un match non-accès, qui est, le match n'a pas besoin d'obtenir pour une utilisation ultérieure. Par exemple, 'de Windows (= 95 |? 98 | NT | 2000)' peut correspondre à la "Windows 2000" dans le "Windows", mais ne peut pas correspondre à la "Windows 3.1" "Windows". Pré-contrôle ne consomme pas de caractères, qui est, après un match se produit, le dernier match après le prochain match pour commencer immédiatement la recherche, plutôt que de partir des caractères qui contient pré-enquête.
(?!modèle) Négatif pré-enquête, au début de tout motif de correspondance chaîne de recherche correspondant de chaîne. C'est un match non-accès, qui est, le match n'a pas besoin d'obtenir pour une utilisation ultérieure. Par exemple, 'Windows (95 | 98 ?! | NT | 2000)' peut correspondre à la "Windows 3.1" "Windows", mais ne peut pas correspondre à la "Windows 2000" dans le "Windows". Pré-contrôle ne consomme pas de caractères, qui est, après un match se produit, après le dernier match a commencé immédiatement à côté recherche de correspondance, au lieu de partir des caractères qui contient pré-enquête
x | et Match x ou y. Par exemple, « z | nourriture » peut correspondre à la « z » ou « nourriture ». '(Z | f) ood' le match "Zood" ou "nourriture".
[Xyz] Jeu de caractères. Tout caractère inclus. Par exemple, « [abc] » correspond à « simple » dans le « a ».
[^ Xyz] jeux de caractères négatifs. Correspond à tout caractère non compris. Par exemple, '[^ abc]' correspond à "simple" le 'p'.
[Az] Gamme de caractères. Tout caractère dans la plage spécifiée. Par exemple, « [az] » match « a » à l'une des caractères alphabétiques en minuscule « Z » dans la plage.
[^ Az] Plage de caractère négatif. Tout caractère dans aucune plage spécifiée. Par exemple, « [^ az] » ne peut pas correspondre à tout « a » à un caractère arbitraire « z » à portée.
\ b Correspond à une limite de mot, qui est, fait référence à l'emplacement et les espaces entre les mots. Par exemple, « er \ b » correspond à « jamais » dans le « er », mais ne correspond pas au « verbe » dans le « er ».
\ B Correspondant à la limite non-mot. « Er \ B » correspond à « verbe » dans le « er », mais ne correspond pas à « jamais » dans le « er ».
\ cx Faites correspondre les caractères de contrôle spécifiés par le x. Par exemple, \ cM correspond à un M Contrôle ou retour chariot. La valeur de x doit être AZ ou az. Dans le cas contraire, c comme caractère « c » littéral.
\ré Correspond à un caractère de chiffres. Équivalent à [0-9].
\RÉ Correspondant à un caractère non numérique. Il est équivalent à [^ 0-9].
\F Faites correspondre un caractère d'alimentation. Équivalent à \ x0c et \ cL.
\ n Correspond à un saut de ligne. Équivalent à \ x0a et \ cJ.
\ r Correspondant à un retour de chariot. Équivalent à \ x0d et \ cM.
\ s Matches tous les caractères blancs, y compris les espaces, les onglets, les sauts de page, et ainsi de suite. Il est équivalent à [\ f \ n \ r \ t \ v].
\ S Correspond à tous les caractères non-blancs. Est équivalent à [^ \ f \ n \ r \ t \ v].
\ t 匹配一个制表符。等价于 \x09 和 \cI。
\v 匹配一个垂直制表符。等价于 \x0b 和 \cK。
\w 匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'。
\W 匹配任何非单词字符。等价于 '[^A-Za-z0-9_]'。
\xn 匹配 n,其中 n 为十六进制转义值。十六进制转义值必须为确定的两个数字长。例如,'\x41' 匹配 "A"。'\x041' 则等价于 '\x04' & "1"。正则表达式中可以使用 ASCII 编码。.
\num 匹配 num,其中 num 是一个正整数。对所获取的匹配的引用。例如,'(.)\1' 匹配两个连续的相同字符。
\n 标识一个八进制转义值或一个向后引用。如果 \n 之前至少 n 个获取的子表达式,则 n 为向后引用。否则,如果 n 为八进制数字 (0-7),则 n 为一个八进制转义值。
\nm 标识一个八进制转义值或一个向后引用。如果 \nm 之前至少有 nm 个获得子表达式,则 nm 为向后引用。如果 \nm 之前至少有 n 个获取,则 n 为一个后跟文字 m 的向后引用。如果前面的条件都不满足,若 n 和 m 均为八进制数字 (0-7),则 \nm 将匹配八进制转义值 nm。
\nml 如果 n 为八进制数字 (0-3),且 m 和 l 均为八进制数字 (0-7),则匹配八进制转义值 nml。
\un 匹配 n,其中 n 是一个用四个十六进制数字表示的 Unicode 字符。例如, \u00A9 匹配版权符号 (?)。
 
 

 

 举例:

字符串:  s="adsfasdf1230adsf+123adsf123.33adsf-123.66asdg+344.66"
 匹配数字、小数点数字、包含正负号数字;
       a=re.findall('-?\d+\.*\d+|\+?\d+\.*\d+',s)
       a=['1230', '+123', '123.33', '-123.66', '+344.66']
 
 匹配数字、小数点数字、包含正号;
       a=re.findall('\+?\d+\.*\d+',s)
       a=['1230', '+123', '123.33', '123.66', '+344.66']
 
 匹配数字、小数点数字、包含负号;
       a=re.findall('-?\d+\.*\d+',s)
      a=['1230', '123', '123.33', '-123.66', '344.66']
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Je suppose que tu aimes

Origine www.cnblogs.com/chun0070/p/12461958.html
conseillé
Classement