正则表达式中一些符号的使用说明

在这里插入图片描述
截图来自莫烦python

就每个单独来演示一下:

import re
re.search(r"\w+?@\w+?\.com", "12aabbcc56@11sswq1.com")

<re.Match object; span=(0, 22), match='12aabbcc56@11sswq1.com'>
这里注意大小写:

re.search(r"\w+?\W\w+?\.com", "12aabbcc56@11sswq1.com")  
re.search(r"\w+?\S\w+?\.com", "12aabbcc56@11sswq1.com") 
re.search(r"\w+?.\w+?\.com", "12aabbcc56@11sswq1.com")  # 这三个输出结果一样

<re.Match object; span=(0, 22), match='12aabbcc56@11sswq1.com'>
下面区分一下\W, \S, .的不同

print(re.search(r"\w+@\S+", "12aabbcc56@派 神.com"))
print(re.search(r"\w+@\W+", "12aabbcc56@派神.com"))
print(re.search(r"\w+@.+", "12aabbcc56@派 神.com"))  #注意派神中间有个空格
<re.Match object; span=(0, 12), match='12aabbcc56@派'>
None
<re.Match object; span=(0, 17), match='12aabbcc56@派神.com'>

? 的作用

re.search(r"\w+@\w+?", "12aabbcc56@11sswq1.com")

<re.Match object; span=(0, 12), match='12aabbcc56@1'>

*? 和 ??我测试的没有什么不同,感觉可以相互替换。有知道的大神欢迎补充指导

+和*的区别

re.search(r"\w+@\w*?", "12aabbcc56@11sswq1.com")

<re.Match object; span=(0, 11), match='12aabbcc56@'>

print(re.search(r"\w+@.{5,9}", "12aabbcc56@派 神.com"))
print(re.search(r"\w+@.{8,9}", "12aabbcc56@派 神.com"))
print(re.search(r"\w+@.{8}", "12aabbcc56@派 神.com"))
print(re.search(r"\w+@.{5}", "12aabbcc56@派 神.com"))
<re.Match object; span=(0, 18), match='12aabbcc56@派 神.com'>
None
None
<re.Match object; span=(0, 16), match='12aabbcc56@派 神.c'>

中英文匹配

re.search(r"[\u4e00-\u9fa5 A-Z a-z]+", "无聊的测试Python。")
re.search(r"[\u4e00-\u9fa5!?。,¥【】「」]+\w+", "无聊的测试。Python!")
re.search(r"[\u4e00-\u9fa5!?。,¥【】「」]+.+", "无聊的测试。Python!")
<re.Match object; span=(0, 11), match='无聊的测试Python'>
<re.Match object; span=(0, 12), match='无聊的测试。Python'>
<re.Match object; span=(0, 13), match='无聊的测试。Python!'>

flags

在这里插入图片描述
这里直接引用莫烦Python的代码,只记录自己不太熟悉的,详细内容请移步莫烦python

string = """I
Ran to you"""
re.search(r"(?ims).^ran", string)

string = """I
Ran to you"""
print(re.search(r"(?im).^ran", string))

<re.Match object; span=(1, 5), match='\nRan'>

None
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值