- 概念 正则表达式是对字符串操作的一种逻辑公式,可以用来提取特定的字符。比如可以提取邮箱,汉字,数字,大小写字母,联系方式等特定的数据。经常被用于Python,Java等编程语言中,可以批量处理通过python爬虫获得的数据文件。目前正在被广泛使用。
- 使用方法 正则表达式常见函数:
re.match函数
原型:match(pattern,string,flags=0)
pattern:匹配的正则表达式
string:要匹配的字符串
flags:标志位,用于控制正则表达式的匹配方式
re.I:忽略大小写
re.L:做本地户识别
re.M:多行匹配
re.S:是匹配包括换行符在内所有字符
re.U:根据Unicode字符集解析字符,影响w,W,B,b.
re.X:使我们以更灵活的方式理解正则表达式
参数:
功能:尝试从字符串中的起始位置匹配一个模式,如果不是起始位置,
成功的话,返回None
re.search函数
原型:search(pattern,string,flags=0)
同上
功能:扫描整个字符串,并返回第一个成功的匹配
参数:同上
re.findall函数
功能:扫描整个字符串,并返回结果列表
#print(re.findall("benxii","beautiful girl is benxii","benxii is a calm girl"))
有关正则表达式的元字符就不多做介绍,这里我们介绍几种常见场景。方便大家后续查询使用。
3.正则表达式常见使用场景
3.1 提取字符串中的汉字
[u4E00-u9FA5\s] 多个汉字,包括空格
[u4E00-u9FA5] 多个汉字,不包括空格
3.2 提取字符串中的手机号
1[345789]\d{9}
3.3 提取字符串中的邮箱
代码语言:javascript复制emailpattern = '[A-Za-z0-9.- _] @[a-z0-9.- _] .[a-z]
3.4 提取字符串的QQ号码
代码语言:javascript复制qqpattern = '[1-9]{1}[0-9]{4,11}'
3.5 提取字符串中的邮政编码
代码语言:javascript复制youzhengbianmapattern = 'd{6}'
以上内容均经过测试
以上内容仅供参考。