假设某一行字符串为:str1:445XXXX
1、findall():获取匹配到的内容
#获取这一行中的数字,python代码如下(亲测可用):
# -* - coding: UTF-8 -* -
import re
line = 'str1:445XXXX'
list = re.findall(r'str1:(\d+)',line)
print(list[0]) #打印找到的数字
#ps:获取的到的数字,需要强转为int才能当做整数使用,python代码如下:
int(list[0])
2、compile()+match():判断是否匹配到
#判断这一行是否含有字符串str1,python代码如下(亲测可用):
# -* - coding: UTF-8 -* -
import re
line = 'str1:445XXXX'
p = re.compile('^.*str1.*$')
number = p.match(line)
if(number):
print('找到了')
else:
print('没找到')
3、sub():替换匹配到的内容
#替换掉匹配到的内容(亲测可用)
# -* - coding: UTF-8 -* -
import re
line = 'str1:你好%%%%445XXXX'
#将line中的内容中%替换掉,2表示只替换2个即可(默认0--替换所有)
line = re.sub('%','',line,2)
print(line)
compile()可以和上面的所有方法配合使用。
参考:
http://www.runoob.com/python/python-reg-expressions.html
https://regexr.com/
未完待续!