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

python re模块

时间:2016-12-04 13:53:17      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:mat   改变   style   重复   匹配   正则表达   match   python   替换   

re模块主要用于查找、替换、分割

 

print(re.__doc__)

 

特殊字符(元字符):

"."           任意一个字符,除换行符(\n)

"^"          字符串开头

"$"          字符串结尾

"*"          >=0个字符,贪婪匹配

"+"          >=1个字符,贪婪匹配

"?"          0或1个字符,贪婪匹配

{m, n}        重复m至n次个字符,贪婪匹配

*?, +?, ??, {m, n}?  非贪婪,尽量少

[]           一个字符

"|"           或

()           group使用,分割使用时,全部作为列表元素

(?P<name>)      字符匹配别名

 

特殊序列:

\A   字符串开始

\Z   字符串结尾

\b   开始或结尾位置的空字符串

\B   非\b

\d   [0-9]

\D   [^0-9]

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

\S   非\s [^\s]

\w   [a-zA-Z0-9_] 数字、字母

\W   非数字、字母

\\   \

 

可选函数参数:

re.I  忽略大小写 

  注:分割不忽略大小写

re.M  多行匹配

  注:改变^$方式为:每行都判定

 

函数:

(1)查找(找到一个就完成)

match(patttern, string)

  从字符串开始位置匹配,无返回None

search(pattern, string)

  整个字符串范围内匹配,无返回None

(2)匹配条件

compile(pattern)

(3)分割

split(pattern, string)

  匹配分割,返回列表

(4)全部查找

findall(pattern, string) 

  查找所有匹配子串,返回列表

finditer(pattern, string)

  查找所有匹配子串,组成一个迭代器

(5)替换

sub(pattern, repl,  string)

  在字符串string中,查找匹配正则表达式pattern的所有子串,用另一个字符串repl进行替换

subn(pattern, repl, string)

  同sub,返回二维元组

 

运用方式:

r1 = re.compile("[.*]")

re.findall(r1, "abc")
r1 = re.compile(r"world")
if r1.match("helloworld"): print("Ok")
re.split("(\w+)", "192.168.1.1")

python re模块

标签:mat   改变   style   重复   匹配   正则表达   match   python   替换   

原文地址:http://www.cnblogs.com/todayisafineday/p/6130566.html

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