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

Python学习笔记(4):正则表达式

时间:2015-01-23 23:02:43      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:python   正则表达式   re   

正则表达式
用法:
>>>import re
>>>s=r‘abc‘
>>>re.findall(s,‘abcabc‘)
正则语法:
元字符: . ^ $ * + ? {} [] \ | ()
[] 用于选择匹配 [abc] 匹配 a或者b或者c
[^]用于反选,比如[^abc]不含有abc的
^用于匹配行首 r‘^abc‘ 匹配‘abcd‘而不是‘dabc‘
$用于匹配行尾 类似^
\ : 用于转义.
\d 表示数字 [0-9]
\D 表示d的反 [^0-9]
\s 表示空白字符[\t\n\r\f\v]
\S 表示反s
\w 表示字符数字[a-zA-Z0-9_]
\W 反之
{N}重复n次 比如\d{8} 匹配8个数字
* 重复0到n次 比如ab* 匹配abbbbbbb
+重复1到n次
?重复0次或者1次
重复后面加? 是最小匹配
r‘ab+?‘ 最小匹配
{m.n}重复m到n次
{0,}等于*
{1,}等于+
{0,1}等于?
re模块使用
1.编译
import re
p=re.compile(r‘xxx‘) 经常使用的话这样更快
p.findall(‘abcabc‘)
就不需要
re.findall(r‘a‘,‘xxxx‘)
不区分大小写re.compile(r‘xxx‘,re.I)
2.常用函数
match() 开头匹配返回位置
search() 整个字符串扫描返回位置
findall()返回list
finditer()返回迭代器
Match:
m.group() 返回匹配的值
Search:
同上
字符串替换:
rs=r‘c..t‘
re.compile(rs)
rs.sub(‘python‘,‘csvt caat cvvt cccc‘)
切割:
split
s="123+234-344"
re.split(r‘[\+\-]‘,s)
group
group(0)和group()一样
group(n)是返回第n个匹配的括号内容

Python学习笔记(4):正则表达式

标签:python   正则表达式   re   

原文地址:http://blog.csdn.net/cq361106306/article/details/43065363

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