文章目录
1.正则表达式
1.认识正则表达式
什么是正则表达式.
简单来说就是一种按照一定的规则处理字符串的工具,而这种规则我们成为正则表达式.
正则表达式独立于任何一门语言之外.
2.使用正则表达式
1.在Python中使用正则表达式,我们需要先导入python内置库(re):import re
2.定义正则规则以及对应的字符串.
3.进行校验得出结果
# 导入库
import re
# 假设一个需要处理的文本
text = "long time no see"
# 定义正则规则
rule1 = "long"
rule2 = "see"
# 分别输出两个规则的结果
print(re.match(rule1,text))
print(re.match(rule2,text))
"""
<re.Match object; span=(0, 4), match='long'>
None
"""
我们不难发现正则的处理方式是从左往右开始匹配,若存在一个匹配不上的内容则返回None
3.常用的几种方法
基础用法:
re.match(正则,字符串)
从左往右进行匹配,如果符合就返回匹配对象,如果没匹配上就返回None
高级用法:
search(正则,字符串)
从字符串中查找一个字符串,如果符合要求返回第一个,如果没有返回None
findall(正则,字符串)
找到所有符合条件的内容,存储到列表中
sub(正则,替换内容,字符串)
在字符串中按照正则替换匹配到的内容,替换的内容可以传入一个函数
split(正则,字符串)
将字符串按照正则规则进行切割,将切割后的内容存储在列表中
group( )
将匹配到的内容提取出来
2.使用正则表示字符
. 匹配除换行(\n)外的任意一个字符
\d 匹配数字0-9
\D 匹配非数字
\s 匹配空白,空格或tab
\S 匹配非空白
\w 匹配 [A-Za-z0-9]单词字符
\W 匹配非单词字符
[ ] 匹配[ ]中列举的字符
# 导入库
import re
# 假设一个需要处理的文本
text = "long time no see"
print(re.match(r"\d",text)) # 该文本不以数字开头所以None
print(re.match(r"\D",text)) # 非数字开头取第一个字符l ---<re.Match object; span=(0, 1), match='l'>
print(re.match(r"\s",text)) # 该文本不以空格开头所以None
print(re.match(r"\S",text)) # 非空格开头取第一个字符l ---<re.Match object; span=(0, 1), match='l'>
print(re.match(r"\w",text)) # 单词开头取第一个字符l ---<re.Match object; span=(0, 1), match='l'>