截图来自莫烦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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)