python re函数的常用方法

来源:互联网 发布:淘宝如何认证大v 编辑:程序博客网 时间:2024/06/05 00:47

刚学习python的正则表达式我还是有点懵逼的,不过没关系,慢慢来,看到一个知识点就吃一个。


re.match(arg0,arg1,arg2).span()arg0:表达式 arg1:原始字符串 *arg2:flag即搜索的标志符号                           [其中span()方法是获取到数据在原字符串的位置]

re.search(arg0,arg1,arg2).span() arg0:表达式 arg1:原始字符串 *arg2:flag即搜索的标志符号                           [其中span()方法是获取到数据在原字符串的位置]

区别:

match搜索字符串开头如果不匹配表达式就返回None了。

而search会搜索整个字符串。



③re.sub(arg0,arg1,arg2,arg3,arg4) 五个参数看起来就有点懵逼:arg0:表达式 arg1:需要替换的字符串 arg2:原始字符串 *arg3:替换的次数(0代表全部) *arg4:flag标识符

例:

实例

#!/usr/bin/python# -*- coding: UTF-8 -*-
importrephone ="2004-959-559 # 这是一个国外电话号码"

# 删除字符串中的 Python注释
num = re.sub(r'#.*$',"",phone)
print"电话号码是:",num

# 删除非数字(-)的字符串
num = re.sub(r'\D',"",phone)
print"电话号码是 :",num


电话号码是:  2004-959-559 电话号码是 :  2004959559


其中的参数少了几个?那是因为有可选的参数,带星号的为可选参数,其中r是表达式的声明 r'表达式'' ,也可以用 r'变量' 来达到动态的表达式。

.*经过我的测试意思是后面的字符 ,f.*意思是f后面的字符