早上在家看了会python,主要看了下正则表达式相关的一点知识
1.正则表达式是一个特殊的字符序列,它能帮助你方便 的检查一个字符串是否与某种模式匹配。re模块使Python语言拥有全部的正则表达式功能。
eg:import re
r=r'ab'
printre.findall(r,'abcdefgabcd')====>[‘ab’,’ab’]
注意:如果有元字符,注意使用转义字符’\’
eg:print ‘\n’====>换行
print ‘\\n’====>输出\n
print r ‘\n’====>输出\n
2.元字符介绍
^匹配行首
$匹配行尾
.匹配单字符
[]匹配指定的一个字符集
[^ ]补集匹配不在区间范围内的字符,注意^放在前面
eg:r = r‘123’
re.findall(r,’12345612345’)====>[‘123’]
r = r ‘345$’
re.findall(r,’1234512345’)====>[‘345’]
r = r’3.5’
re.findall(r,’1234512345’)====>[‘345’,’345’]
r = r‘a[a-z A-Z 0-9]c’
re.findall(r,’abc,aCc,a5c,a3c,afg’)====>[‘abc’,’aCc’,’a5c’,’a3c’]
r = r’a[^0-9]c’
re.findall(r,’abc,aCc,a5c,a3c,afg’)====>[‘abc’,’aCc’]
3.特殊意义字符
\d代表数字[0-9]
\D非数字
\s空白字符
\S非空白字符
\w单词字符[a-zA-Z0-9_]
\W非单词字符
{}前一个字符的重复的次数 前一个字符在一个范围内的重复次数
*将前一字符匹配大于等于0次,{0,}效果等价于*
+将前一字符匹配大于等于1次,{1,}效果等价于+
?将前一字符匹配0次或1次,表示是否出现,{0,1}效果等 价于?
*?尽可能少的匹配
()分组
eg:r = r’a\dc’
re.findall(r,’abc,aCc,a5c,a3c,afg’)====>[‘a5c’,’a3c’]
r = r’a\Dc’
re.findall(r,’abc,aCc,a5c,a3c,afg’)====>[‘abc’,’aCc’]
4.正则常用函数
compile编译后执行速度更快
findall返回匹配列表
match匹配字符串开头,返回第一个匹配的内容
search匹配字符串全文,返回第一个匹配的内容
sub字符串正则替换,返回替换字符串
subn字符串正则替换,返回元组(替换字符串,替换次数)
split返回切割后的列表
由于家里停电,就没有继续学习,晚上导致老徐的分享也搁浅了
网友评论