前言
正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。
模块导入
import re
方法 | 说明 |
---|---|
compile | 用于编译正则表达式 |
search | 用于匹配整个字符串并且返回第一个成功的值 |
match | 尝试从字符串的起始位置匹配一个模式返回Match对象或者None |
findall | 在字符串中找到正则表达式中匹配的所有子字符串并且返回一个列表,如果找不到就返回一个空列表 |
sub | 用于替换字符串中的匹配项 |
split | 按照能匹配的子串将字符串分割后返回一个列表 |
函数使用
compile | 用于编译正则表达式
# 预加载正则表达式
obj = re.compile(r"\d+")
ret = obj.findall("我的电话号10086,我的盆友账号是:10010")
for it in ret:
print(it)
ret1 = obj.findall("呵呵哒,我就不信你不汗:111111")
print(ret1)
运行结果:
10086
10010
['111111']
search | 用于匹配整个字符串并且返回第一个成功的值
#seach: 找到第一个符合匹配正则的,返回match对象,拿数据需要。group()
s = re.search(r"\d+","我的电话号10086,我的盆友账号是:10010")
print(s.group())
运行结果;
10086
match|尝试从字符串的起始位置匹配一个模式返回Match对象或者None
# match从头开始匹配
d = re.match("\d+","10086,我的盆友账号是:10010")
print(d.group())
运行结果:
10086
findall | 在字符串中找到正则表达式中匹配的所有子字符串并且返回一个列表,如果找不到就返回一个空列表
# findall: 匹配字符串的所有的符合正则的内容
lst = re.findall(r"\d+", "我的电话号10086,我的盆友账号是:10010")
print(lst)
运行结果:
['10086', '10010']
sub| 用于替换字符串中的匹配项
split|按照能匹配的子串将字符串分割后返回一个列表
#fiditer: 匹配所有内容[返回迭代求]
it = re.finditer(r"\d+","我的电话号10086,我的盆友账号是:10010")
for i in it:
print(i.group())
运行结果:
10086
10010
总结
简单的re模块的使用
代码由pycharm的实现,
个人笔记仅供参考