码迷,mamicode.com
首页 > 编程语言 > 详细

python re模块(一)

时间:2015-07-19 21:23:09      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:

一.匹配字符说明

   ‘.‘ 默认匹配除了换行符的所有字符,如果指定了DOTALL标志,那么.能够匹配所有字符

 ‘^‘匹配字符串的开头,如果是在multiline模式下,’^‘将匹配每行的开头

 ‘$‘匹配字符串的末尾,如果是在multiline模式下,’^‘将匹配每行的末尾

   ‘*‘ 将之前的字符重复0次及0次以上,例如ab*可匹配a,也可匹配abbbbbbbb

 ‘+‘ 将之前的字符重复1次及1次以上,例如ab+不可匹配a,但可匹配abbbbbbbb

   ‘?‘ 将之前的字符重复0次或者1次

   {m} 将之前的字符重复m次

 {m,n}将之前的字符重复m到n次

   {,n} 将之前的字符重复0到n次

   {m,}将之前的字符重复m到无限次

 *?,+?,??,{m,n}? 如果没有在后面加?,那么*,+,?在匹配时会尽量匹配更多的字符串,如<.*>在匹配<h>hello world</h>时会匹配<h>hello world</h>,而不是<h>,加           上?后匹配的字符第一次满足要求后就会停止匹配,那么<.*?>就能匹配<h>

   \  \的作用使得能够匹配*,?,+正常下不能匹配的字符,用\转义后即可匹配

 [] 标识一系列能够希望被匹配的字符,[a-z]匹配所有的小写字母,加上^如[^a-z]则匹配除了a-z的字符

   |  如a|b 可以匹配a或者b

   (?=...)  表示该位置后面的字符是...表示开始匹配,并且匹配是从...开始匹配,而不是从...后开始匹配

   (?!...)  表示该位置后面的字符不是...时才表示开始匹配,并且匹配是从...开始匹配,而不是从...后开始匹配

   (?<=...) 标识从...后才开始进行匹配,并且是从...后开始匹配

   \w 表示[a-zA-Z0-9]

 \W表示[^a-zA-Z0-9]

 \s表示空白字符,[\t\n\r\f\v]

   \S表示非空白字符,[^\t\n\r\f\v]

   \d [0-9]

   \D [^0-9]

   \b匹配空白字符,以及非字母数字下划线的字符

   \B \b的补集

 

python re模块(一)

标签:

原文地址:http://www.cnblogs.com/lifeisshort/p/4659390.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!