正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。那今天就详细讲一下正则表达式的使用。
re 模块使 Python 语言拥有全部的正则表达式功能,我们通过对re模块的基础功能及使用案例,来更深入的了解python正则表达式。
一.环境配置
我这边python的环境是3.7.8版本的,下载路径如下:
1.python 3.7.8
可直接进入官网下载安装:Download Python | Python.org
2.re库直接导入即可
import re
二.re库基本使用
1.普通字符串的匹配
re.findll():以列表的类型返回数据,列表中是符合正则要求的字符串数据:
x = "qwer123\>"
y = re.findall('qwe',x)
print(y)
输出:
首先定义一个变量x,给他赋值一组字符串数据,定义变量y,使用findll()函数,提取x变量中含有'qwe'的字符串数据,以列表的形式返回,我们再来看一组例子:
x = "qwer123qwer\>"
y = re.findall('qwe',x)
print(y)
输出:
获取到了变量x中有两组'qwe'字符串类型的数据,并依次通过列表的形式返回。
2.元字符的匹配(说几个常用的元字符)
(1)[]:用来指定一个字符集([0~9]),表示一个范围(a[abcde]e)。
例如想要在'xyzqwexyz'字符串里面找出'xyz',可以使用[]这样写:
x = 'xyzqwexyz'
y = 'x[xyz]z'
z = re.findall(y,x)
print(z)
输出:
(2)^ :主要用来匹配行首
x = 'xyzqwexyz'
print(re.findall("^xy", x))
输出:
(3)$ :主要用来匹配行尾
x = 'xyzqwexyz'
print(re.findall("yz$", x))
输出:
(4)\s :匹配任何空白字符
x = 'xyz yz'
print(re.findall("\s\s",x))
输出:
(5)\w:匹配任何字母数字和下划线
x = "xh_xw-@*a"
print(re.findall("\w\w\w",x))
print(re.findall("\w\w\w\w\w",x))
输出:
(6)\d:匹配任何十进制数
x = 'ab214cd'
print(re.findall("b\d\d\dc", x))
输出:
(7)*:表示尽可能多的去匹配
x = '123456789'
print(re.findall("123\d*", x))
输出:
(8). :表示操作除了换行符以外的任何字符
x = '0123\n456-*\n@'
print(re.findall('.',x))
输出:
三.总结
掌握上面的函数使用,基本上就能完成字符串的匹配了,通过每个函数一个小例子的方式,应该比较好理解。