刚学习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
.*经过我的测试意思是后面的字符 ,f.*意思是f后面的字符