正则表达式匹配单个字符操作示例

正则表达式匹配单个字符操作示例

正则表达式在很多中语言中都是通用的,我这里总结的式python中如何使用正则表达式。

在python中需要通过正则表达式对字符进行匹配的时候,就需要使用到re模块。
1、在python中 import re
2、使用match方法进行匹配操作
3、如果上一步匹配到数据的话,就可以使用group方法来提取数据

示例:

>>> #coding:utf-8
... import re#导入re模块
>>> re.match(r'hello','hello world')#在后面的数据hello world中匹配hello
<re.Match object; span=(0, 5), match='hello'>
>>> res = re.match(r'hello','hello world')#将匹配到的数据赋给res
>>> res.group()#提取res中匹配到的数据
'hello

匹配单个字符:

匹配单个字符
. 匹配任意一个字符(除了换行符‘\n’)
[ ] 匹配[ ]中列举的字符
\d 匹配数字0-9
\D 匹配非数字,即不是数字的其他任何值
\s 匹配空白,即空格或tab键
\S 匹配非空白
\w 匹配单词字符,即0-9,a-z,A-Z,_,中文字符等
\W 匹配非单词字符

可以看到斜杠后的字母大小写代表的都是互补的匹配内容

示例:

匹配任意一个字符
>>> re.match(r'速度与激情.','速度与激情/        ')
<re.Match object; span=(0, 6), match='速度与激情/'>
匹配0-9的数字
>>> re.match(r'速度与激情\d','速度与激情1')
<re.Match object; span=(0, 6), match='速度与激情1'>
匹配两个0-9的数字
>>> re.match(r'速度与激情\d\d','速度与激情90')
<re.Match object; span=(0, 7), match='速度与激情90'>
匹配非数字
>>> re.match(r'速度与激情\D','速度与激情!')
<re.Match object; span=(0, 6), match='速度与激情!'>
匹配1-8里面的任意一个数字
>>> re.match(r'速度与激情[1-8]','速度与激情8')
<re.Match object; span=(0, 6), match='速度与激情8'>
匹配1-2,4-5里面的任意一个数字
>>> re.match(r'速度与激情[1-24-5]','速度与激情1')
<re.Match object; span=(0, 6), match='速度与激情1'>
匹配1-2,a,b,c中的任意一个值
>>> re.match(r'速度与激情[1-2abc]','速度与激情a')
<re.Match object; span=(0, 6), match='速度与激情a'>
匹配1-2,a-z,A-Z里面的任意一个值
>>> re.match(r'速度与激情[1-2a-zA-Z]','速度与激情E')
<re.Match object; span=(0, 6), match='速度与激情E'>
匹配单个字符
>>> re.match(r'速度与激情\w','速度与激情啊')
<re.Match object; span=(0, 6), match='速度与激情啊'>
匹配非单词字符
>>> re.match(r'速度与激情\W','速度与激情!')
<re.Match object; span=(0, 6), match='速度与激情!'>

猜你喜欢

转载自blog.csdn.net/qq_41571224/article/details/105384971