正则表达式(Regular Expression,简称 regex 或 regexp)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”)。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在编程和数据处理中,正则表达式极其强大,可以用来搜索、编辑或操作文本和数据。
一、基本概念
- 普通字符:大多数字母和数字都可以被看作是普通字符。它们匹配自己。例如,正则表达式
test
匹配字符串 "test"。 - 元字符:在正则表达式中具有特殊含义的字符。例如,
.
表示匹配除了换行符之外的任何单个字符。 - 转义字符:如果你需要匹配一个元字符本身,你可以使用反斜杠
\
来转义它。例如,要匹配.
字符,你需要使用\.
。
二、常用元字符
.
:匹配除换行符以外的任意字符。^
:匹配输入字符串的开始位置。$
:匹配输入字符串的结束位置。*
:匹配前面的子表达式零次或多次。+
:匹配前面的子表达式一次或多次。?
:匹配前面的子表达式零次或一次。{n}
:n 是一个非负整数。匹配确定的 n 次。{n,}
:n 是一个非负整数。至少匹配 n 次。{n,m}
:m 和 n 均为非负整数,其中 n <= m。最少匹配 n 次且最多匹配 m 次。[xyz]
:字符集合。匹配所包含的任意一个字符。[^xyz]
:负值字符集合。匹配未包含的任意字符。\d
:匹配一个数字字符。等价于[0-9]
。\D
:匹配一个非数字字符。等价于[^0-9]
。\s
:匹配任何空白字符,包括空格、制表符、换页符等。\S
:匹配任何非空白字符。\w
:匹配包括下划线的任何单词字符。等价于[A-Za-z0-9_]
。\W
:匹配任何非单词字符。等价于[^A-Za-z0-9_]
。
三、常用方法
3.1 匹配
import re
#查找
result = re.search('qwe', 'qweqwqwe')
print(result,result.start(),result.end())
result1 = re.findall('qwe', 'qweqwqwe')
print(result1)
result2 = re.finditer('qwe', 'qweqwqwe')
print(result2)
for r in result2:
print(r)
'''
结果为
<re.Match object; span=(0, 3), match='qwe'> 0 3
['qwe', 'qwe']
<callable_iterator object at 0x00000234BDD7FA90>
<re.Match object; span=(0, 3), match='qwe'>
<re.Match object; span=(5, 8), match='qwe'>
'''
3.2 替换
import re
# #替换
result3 = re.sub('qwe','*', 'qweqwqwe',count=1)
print(result3)
result4 = re.subn('qwe','*', 'qweqwqwe',count=1)
print(result4)
'''
结果为
*qwqwe
('*qwqwe', 1)
'''
3.3 分割
import re
# #分割
result5 = re.split('qwe', 'qweqwqwe')
print(result5)
result6 = re.split('qwe', 'qweqwqwe',maxsplit=1)
print(result6)
'''
结果为
['', 'qw', '']
['', 'qwqwe']
'''
标签:字符,匹配,qweqwqwe,qwe,re,详解,模块,print
From: https://blog.csdn.net/2301_78319341/article/details/141332798