Python re模块 正则表达式

Posted 薏米*

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python re模块 正则表达式相关的知识,希望对你有一定的参考价值。

str_1 = r"adjkladfhiasasueyti@ksjdf493572.comadsfadfacomrtwtrw"
a = re.match("com", str_1) # 从字符串起始位置匹配。 找不到,返回None 匹配一次
print(a)
# None
b = re.search("com", str_1) # re.search匹配整个字符串,直到找到一个匹配
# 找不到,返回None  匹配一次
print(b)
# <re.Match object; span=(33, 36), match=‘com‘>

c = re.findall("com", str_1) # 字符串中找到正则表达式所匹配的所有子串,
# 并返回一个列表,如果没有找到匹配的,则返回空列表
print(c)
# [‘com‘, ‘com‘]

d = re.findall("\\", str_1) # re模块中 特殊字符,需要使用转义字符
# python 解释器解释, 为特殊字符,需要使用转义字符进行转义
print(d)
# [‘\‘]
e = re.search(r"\", str_1) # r 表示后面的字符为python中的原生字符
print(e)
# <re.Match object; span=(14, 15), match=‘\‘>

f = re.search(r"com", str_1) # 在python中指退格
# 在re模块中指单词的边界,所以使用r
print(f)
# <re.Match object; span=(33, 36), match=‘com‘>

# () 做分组
print(re.search("(as)+", str_1))
# <re.Match object; span=(10, 14), match=‘asas‘>
print(re.search("(as)+", str_1).group()) # 贪婪匹配
# asas

str_2 = "asdfaas3"
print(re.search("(as)|3", "asdd893").group()) # | 或
# as
print(re.search("(as)|3", "afsdd893").group())
# 3
print(re.search("(?P<id>d{3})/(?P<name>w{3})", "ieuriwruiw234/yui").group())
# 234/yui
print(re.search("(?P<id>d{3})/(?P<name>w{3})", "ieuriwruiw234/yui").group("id"))
# 234
print(re.search("(?P<id>d{3})/(?P<name>w{3})", "ieuriwruiw234/yui").group("name"))
# yui

以上是关于Python re模块 正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

python re模块 正则表达式

正则表达式与Python中re模块的使用

Python re正则表达式模块学习

Python 正则表达式模块 (re) 简介

python的re正则表达式模块学习

Python 正则表达式模块 (re模块)