正则

本文深入探讨了正则表达式的各种应用场景,包括基础匹配、贪婪与非贪婪匹配、重复次数限定、选择匹配以及特殊字符的使用。通过具体示例,如字符串验证、特定模式的搜索与提取,读者将掌握如何利用正则表达式高效处理文本数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import re


line = "bobby123"
#   .:任意字符   *:重复任意多次  $:结尾字符   3$:必须以3结尾
regex_str = "^b.*3$"
if re.match(regex_str, line):
    print("yes")
else:
    print("no")

è¿éåå¾çæè¿°

test1 = "boooooobbbbbbby123"
#  ()与group一起用,提取    ?:非贪婪匹配,从左边开始,   +:前面字符至少出现一次  {2,5}:最少和最多出现的次数
regex_str1 = ".*(b.+b).*"
match_obj = re.match(regex_str1, test1)
if match_obj:
    # 只取第一个括号里的内容
    print(match_obj.group(1))
# |:或的关系,若两个都有,则提取前面一个
test2 = "bobbyoooooobbbbbobby123"
regex_str2 = ".*(bobby123|bobby)"
match_obj2 = re.match(regex_str2, test2)
if match_obj2:
    print(match_obj2.group(1))

[]的用法:

1.[abcd]:满足abcd中的任意一个都可以

2.[0-9]:满足区间0-9中的任意一个都可以

3.[^1]:满足不是1都可以,包括字母、字符等

4.[.*]:中括号中的.号 *号等不再代表任意字符,只代表本身字符

 

\s :代表一个空格

\S:代表中间可以放一个任意字母、数字等(不包括空格)

test3 = "你-好"
regex_str3 = "(你\S好)"
match_obj3 = re.match(regex_str3, test3)
if match_obj3:
    print(match_obj3.group(1))

\w:[A-Za-z0-9_]  代表A到Z、a到z、0到9或者_中的任意一个都可以

\W:与\w相反

\u4E00-\u9FA5:代表一个汉字

\d:代表数字

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Christian_yang

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值