Python--re模块的findall等用法
1)正则表达式含义
. # 点可代表一切字符
\ # 起转义作用
[...] # 指代方括号中的任意字符
\d # 指代数字0-9
\D # 指代非数字
\s # 指代一切空格,包括tab制表符、空格、换行等
\S # 指代非空格
\w # 指代大小写字母、数字和下划线
\W # 指代非大小写字母、数字和下划线
* # 匹配前面字符 >=0 次
+ # 匹配前面字符1次及以上
? # 匹配前面字符0次或1次
{m} # 匹配m次
{m,n} # 匹配m到n次
{m,} # 至少匹配m次
2)结合re模块完成字符串的匹配
找
re.findall(pattern, string, flags=0)
pattern-->正则表达式
string-->需要处理的字符串
flags-->说明匹配模式,如是否大小写re.I
注:findall不同的表现形式:
-
import re第一种
-
kk = re.compile(r'\d+')
-
kk.findall('one1two2three3four4')
-
#[1,2,3,4]第二种
-
#注意此处findall()的用法,可传两个参数;
-
kk = re.compile(r'\d+')
-
re.findall(kk,"one123")第三种kk = "one123"re.findall(r'\d+',kk)
切
re.split(pattern, string, maxsplit=0, flags=0)
pattern-->正则表达式
string-->需要处理的字符串
maxsplit-->最大匹配次数。0表示匹配所有次
替
sub(pattern, repl, string, count=0, flags=0)
pattern-->正则表达式
repl-->新的替换内容
string-->需要处理的字符串
count-->替换次数。0表示匹配替换所有次
flags-->匹配模式
1.作者:Syw 2.出处:http://www.cnblogs.com/syw20170419/ 3.本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 4.如果文中有什么错误,欢迎指出。以免更多的人被误导。 |