吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 979|回复: 13
收起左侧

[学习记录] Python学习笔记1:正则表达式

  [复制链接]
BluseLee 发表于 2024-6-2 23:31
本帖最后由 苏紫方璇 于 2024-6-3 00:17 编辑

[Python] 纯文本查看 复制代码
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[0])  # ('HELLO', 'PYTHON')
print(f4[0][0])  # HELLO
print(f4[0][1])  # PYTHON

# (8)sub的使用,先匹配再替换
s3 = 'uuuuuu123abcssfasdfas123uuuuuu'
g = re.sub('123(.*?)123', '  HELLO MY PYTHON!  ', s3)
print(g)  # uuuuuu  HELLO MY PYTHON!  uuuuuu

免费评分

参与人数 3吾爱币 +2 热心值 +3 收起 理由
a5228172 + 1 + 1 热心回复!
surepj + 1 + 1 热心回复!
hopecolor514 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

苏紫方璇 发表于 2024-6-3 00:16
插入代码方法
【公告】发帖代码插入以及添加链接教程(有福利)
https://www.52pojie.cn/thread-713042-1-1.html
(出处: 吾爱破解论坛)
hopecolor514 发表于 2024-6-3 05:12
谢谢大佬,以前学过几次正则表达式,一直没有搞明白
gooderduck1130 发表于 2024-6-3 07:05
zhcj66 发表于 2024-6-3 08:31
感谢分享 不经常用总是会忘
evill 发表于 2024-6-3 08:54
正则是个好工具,不常用的话经常会忘记,感觉可以弄几个常用的模板,需要用的时候临时看看借鉴一下,常用的就不用说了
sunflash 发表于 2024-6-3 08:59
从零开始学python,正则就是记不住
无知灰灰 发表于 2024-6-3 09:33
本帖最后由 无知灰灰 于 2024-6-3 09:34 编辑

现在感觉这些都不用学,学学基础的。。。然后具体 的,直接AI帮写就行了,效率又高,而且代码也比新手写的好的多。。

比如周六我准备写个抖音无水印下载的,直接全让AI帮写,有些地方我写的话,肯定没AI写的那么简洁。。。

而且还有容错报错机制,我一般都不会写。。。
RangerRafael 发表于 2024-6-3 10:00
感谢大佬!初学python,正则表达式是非常重要的部分。
MrQuinn 发表于 2024-6-3 11:33
正则我就没记全过都是用到的时候直接ctrl+C & ctrl+V......话说,用AI帮忙确实简单很多
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 14:32

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表