Python学习笔记1:正则表达式
本帖最后由 苏紫方璇 于 2024-6-3 00:17 编辑import re
'''
findall:匹配所有符合规律的内容,返回包含结果的列表
search:匹配并提取第一个符合规则的内容,返回一个正则表达式对象
sub:替换符合规则的内容,返回替换后的值
'''
# (1).的使用
a = 'asddfs123456'
b1 = re.findall('s.', a)
print(b1)# ['sd', 's1']
b2 = re.findall('s..', a)
print(b2)# ['sdd', 's12']
# (2)*的使用
a = 'asddfs123456'
b = re.findall('s*', a)
print(b)# ['', 's', '', '', '', 's', '', '', '', '', '', '', '']
# (3)?的使用
a = 'xy123xefaf'
b = re.findall('x?', a)
print(b)# ['x', '', '', '', '', 'x', '', '', '', '', '']
# (4)#.*的使用
s0 = 'fdhofdxxHELLOxx9897897gdsfdxxMYxxieigidjixxPYTHONxxefesfd'
b = re.findall('xx.*xx', s0)# 能找多长找多长
print(b)# ['xxHELLOxx9897897gdsfdxxMYxxieigidjixxPYTHONxx']
c = re.findall('xx.*?xx', s0)# 最短,切分
print(c)# ['xxHELLOxx', 'xxMYxx', 'xxPYTHONxx']
# (5)使用括号与不使用括号的区别
s1 = 'fdhofdxxHELLOxx9897897gdsfdxxMYxxieigidjixxPYTHONxxefesfd'
d = re.findall('xx(.*?)xx', s1)
print(d)# ['HELLO', 'MY', 'PYTHON']
for each in d:
print(each)
# (6)re.S 的功能,包含换行符\n
s = '''dfsfdsafdxxHELLO
xxuuuuuuuuuxxPYTHONxxasdf'''
a = re.findall('xx(.*?)xx', s)
print(a)# ['uuuuuuuuu'],不能包括换行匹配
d = re.findall('xx(.*?)xx', s, re.S)
print(d)# ['HELLO\n', 'PYTHON'],包括了换行匹配
# (7) findall与search的区别
s2 = 'fdhofdxxHELLOxx123xxPYTHONxxieigidj'
f1 = re.search('xx(.*?)xx123xx(.*?)xx', s2).group(1)
print(f1)# HELLO
f2 = re.search('xx(.*?)xx123xx(.*?)xx', s2).group(2)
print(f2)# PYTHON
f3 = re.search('xx(.*?)xx123xx(.*?)xx', s2)
print(f3.group(1))# HELLO
print(f3.group(2))# PYTHON
f4 = re.findall('xx(.*?)xx123xx(.*?)xx', s2)
print(f4)# [('HELLO', 'PYTHON')]
print(f4)# ('HELLO', 'PYTHON')
print(f4)# HELLO
print(f4)# PYTHON
# (8)sub的使用,先匹配再替换
s3 = 'uuuuuu123abcssfasdfas123uuuuuu'
g = re.sub('123(.*?)123', 'HELLO MY PYTHON!', s3)
print(g)# uuuuuuHELLO MY PYTHON!uuuuuu 插入代码方法
【公告】发帖代码插入以及添加链接教程(有福利)
https://www.52pojie.cn/thread-713042-1-1.html
(出处: 吾爱破解论坛)
谢谢大佬,以前学过几次正则表达式,一直没有搞明白 好东西 感谢分享 感谢分享 不经常用总是会忘 正则是个好工具,不常用的话经常会忘记,感觉可以弄几个常用的模板,需要用的时候临时看看借鉴一下,常用的就不用说了 从零开始学python,正则就是记不住 本帖最后由 无知灰灰 于 2024-6-3 09:34 编辑
现在感觉这些都不用学,学学基础的。。。然后具体 的,直接AI帮写就行了,效率又高,而且代码也比新手写的好的多。。
比如周六我准备写个抖音无水印下载的,直接全让AI帮写,有些地方我写的话,肯定没AI写的那么简洁。。。
而且还有容错报错机制,我一般都不会写。。。 感谢大佬!初学python,正则表达式是非常重要的部分。 正则我就没记全过{:1_909:}都是用到的时候直接ctrl+C & ctrl+V......话说,用AI帮忙确实简单很多{:1_889:}
页:
[1]
2