资源描述:
《python 正则表达式》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、2.正则表达式正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。.匹配除了换行符外的所有字符^每一行字符串的开始$匹配每一行字符串的结尾转义字符,使后一个字符转变原来的意思(ab)进行分组[..]匹配字符组里出现的任意一个字符[^..]不匹配字符组里出现的任意一个字符[..A-Z..]匹配从A到Z的任意一个字符[A,H,T,W]包含A或H或T或W字母{..}匹
2、配前面出现的正则表达式{n,m}匹配长度 n到m ?匹配前面的正则表达式1次或0次 *匹配前面的正则表达式1次或多次 +匹配前面的正则表达式1次或0次 d等价于[0-9]D等价于[^0-9],即非数字 w等价于[A-Za-z_0-9]匹配任何数字字母字符s匹配任何非空白集b匹配单词边界c逐一匹配特殊字符ca(z)匹配字符串的起始(结束)正则表达式涉及了贪婪模式和非贪婪模式如字符串"abcd"那么"a.*"匹配的是"abcd""a.*?"匹配的是"a""a.*?d"匹配的是"abcd""a.*d"匹配的是"abcd
3、"正则表达式的Re模块常用的功能函数包括:compile、search、match、split、findall(finditer)、sub(subn)re.compile(pattern[,flags])作用:把正则表达式语法转化成正则表达式对象,编译正则表达式Pattern:Pattern对象是一个编译好的正则表达式,通过Pattern提供的一系列方法可以对文本进行匹配查找。Pattern不能直接实例化,必须使用re.compile()进行构造。flags编译时用的匹配模式定义包括:re.I:(ignorecase)忽略大小写re.L:
4、(locale)表示特殊字符集w,W,b,B,s,S依赖于当前环境re.M:(multiline)多行模式re.S:(dotall)'.'并且包括换行符在内的任意字符(注意:'.'不包括换行符)re.U:(unicode)表示特殊字符集w,W,b,B,d,D,s,S依赖于Unicode字符属性数据库re.X:(verbose) 在RE字符串中的空白符被忽略,除非该空白符在字符类中或在反斜杠之後;这可以让你更清晰地组织和缩进RE。它也可以允许你将注释写入RE,这些注释会被引擎忽略;注释用"#"号来标识,不过该符号
5、不能在字符串或反斜杠之後。re.search(pattern,string[,flags])re.match(pattern,string[,flags])作用:在字符串中查找匹配正则表达式模式的位置match()函数只在字符串的开始位置尝试匹配正则表达式,也就是只报告从位置0开始的匹配情况,而search()函数是扫描整个字符串来查找匹配。re.split(pattern,string[,maxsplit=0,flags=0])可以将字符串匹配正则表达式的部分割开并返回一个列表re.findall(pattern,string[,fla
6、gs])在字符串中找到正则表达式所匹配的所有子串,并组成一个列表返回re.finditer(pattern,string[,flags])和findall类似,在字符串中找到正则表达式所匹配的所有子串,并组成一个迭代器返回。re.sub(pattern,repl,string[,count,flags])在字符串string中找到匹配正则表达式pattern的所有子串,用另一个字符串repl进行替换。如果没有找到匹配pattern的串,则返回未被修改的string。Repl既可以是字符串也可以是一个函数。re.subn(pattern,r
7、epl,string[,count,flags])该函数的功能和sub()相同,但它还返回新的字符串以及替换的次数re.group(num=0)返回全部匹配对象,小心一个括号多次匹配Re.groups()返回去一个包含全部匹配子组的元组,不成功返回一个空元组