说在前面
正则表达式是一个很强大的字符串处理工具,几乎任何关于字符串的操作都可以使用正则表达式来完成,作为一个爬虫工作者,每天和字符串打交道,正则表达式更是不可或缺的技能。
正则表达式在不同的语言中使用方式不尽相同,不过只要学会了任意一门语言的正则表达式用法,其他语言中大部分也只是换了个函数的名称而已,本质都是一样的。
注:本文摘自 i 春秋社区(bbs.ichunqiu.com),欢迎更多优秀作者去社区投稿,帮助更多萌新们快速掌握新技能。文章阅读用时约10分钟。
原子
原子是正则表达式中最基本的单位,每个正则表达式中至少要包含一个原子。常见的原子类型:
普通字符作为原子
非打印字符作为原子
通用字符作为原子
原子表
演示代码:
import re
输出
<_sre.SRE_Match object; span=(7, 10), match='yun'>
非打印字符作为原子
什么是非打印字符,如\n,\t(换行,制表),代表一些操作的字符也可以作为原子
操作代码与小知识
'''shentouyun
nuibi
'''
运行后
<_sre.SRE_Match object; span=(10, 11), match='\n'>
小知识
#在这里解释一个基础,我没有提到过
通用字符作为原子
什么是通用字符?
1. \w匹配任意一个字母数字或下划线;
2. \W匹配除去字母数字或下划线任意一个字符;
3. \d匹配十进制数;
4. \D除十进制以外的任意一个字符;
5. \s匹配一个空白字符;
6. \S除去空白字符。
简单的例子
"shentouyun3215454biji"
运行后
<_sre.SRE_Match object; span=(10, 14), match='3215'>
也可以混合使用
"shentouyun3215454biji"
运行后
<_sre.SRE_Match object; span=(9, 14), match='n3215'>