python re函数的常用方法

刚学习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 -*-
import re phone = " 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后面的字符





你可能感兴趣的:(python)