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

正则表达式中一些符号的使用说明,第1张


截图来自莫烦python

就每个单独来演示一下:

import re
re.search(r"\w+?@\w+?\.com", "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")  # 这三个输出结果一样


下面区分一下\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"))  #注意派神中间有个空格

None

? 的作用

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

*? 和 ??我测试的没有什么不同,感觉可以相互替换。


有知道的大神欢迎补充指导

+和*的区别

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

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!")




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))



None

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/578488.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-11
下一篇 2022-04-11

发表评论

登录后才能评论

评论列表(0条)

保存