正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。那今天就详细讲一下正则表达式的使用。
re 模块使 Python 语言拥有全部的正则表达式功能,我们通过对re模块的基础功能及使用案例,来更深入的了解python正则表达式。
我这边python的环境是3.7.8版本的,下载路径如下:
1.python 3.7.8
可直接进入官网下载安装:Download Python | Python.org
2.re库直接导入即可
import 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))
输出:

掌握上面的函数使用,基本上就能完成字符串的匹配了,通过每个函数一个小例子的方式,应该比较好理解。
@Neng