import re
str1="hello world my11 phone1 number is 123243331124" \
"I am 18 years old"
#re.findall目的就是匹配字符串当中所有满足条件的字符
result=re.findall(r"l",str1)#原样匹配,匹配字符原样,通常结合其他匹配使用,匹配l开头的单词
result=re.findall(r".",str1)#匹配所有非换行的字符,几个点就是几个字符
result=re.findall(r"\d\d",str1)#匹配所有字符串中的数字
result=re.findall(r"\d",str1)#大小写通常是相反的
result=re.findall(r"\D",str1)#匹配所有字符串当中的1非数字
result=re.findall(r"\w",str1)#\w匹配字符串当中的所有字母、数字、下划线(汉字属于字母)
result=re.findall(r"\W",str1)#\W匹配字符串中的所有非字母、非数字、非下划线
result=re.findall(r'[hello]',str1)#匹配括号当中的任意元素
result=re.findall(r"[a-zA-A0-9]",str1)#匹配当中的范围
result=re.findall(r"[^lo]",str1)#匹配除了括号当中元素之外的任意元素(括号当中的所有元素)
result=re.findall(r"[hello]",str1)#匹配括号中的任意元素
result=re.findall(r"he|ll|ph",str1)#匹配|两边的任意一边
#()组匹配 ()是组匹配
result=re.findall(r"\w\d",str1)#一个字母数字或下划线和一个数字
result=re.findall(r"\w(\d)",str1)#组匹配,会将非组内匹配,作为匹配的条件进行匹配
#如果是一个字母数字或下划线和一个数字,输出数字
#(?P<num>\d)\w(?P=num)是命名组匹配
result=re.findall(r"(?P<num>\d)\w(?P=num)",str1)#匹配一个和前面相同的数字,中间有一个
#字母数字或下划线
result=re.findall(r"\d*",str1)#*匹配0到多个,/d数字
result=re.findall(r"\d+",str1)#+匹配1到多个,/d数字
result=re.findall(r"\d{3}",str1)#匹配3个
result=re.findall(r"\d{3,5}",str1)#匹配3到5个1
h5="""
<img src="1.jpg"><img src="2.jpg"><img src="3.jpg">"""
result=re.findall(r'<img src="(.*)"',h5)#贪婪匹配
result=re.findall(r'<img src="(.*?)"',h5)#反贪婪
str2="hello world hi man"
result=re.findall(r'^h',str2)#字符串的开头,如果第一个元素是选择的元素,则返回该元素
#否则返回空
result=re.findall(r'n$',str2)#字符串的结尾
#re.search和re.match都是匹配一次指定的字符,re.search是从字符内部开始匹配,
#而match是从开头匹配,也就是说,如果开头没有,search会向后接着匹配,match会返回None
result=re.search(r'n',str2)#从1字符串内部进行匹配,匹配成功一次1返回,没有返回None
# print(result)
# print(result.group())
# print(result.groups())
# #search搜查 match匹配
# result=re.match(r'h',str2)#从字符串开头进行匹配,匹配成功一次返回,没有返回None
# #match只匹配开头第一个
# print(result)
# print(result.group())
# print(result.groups())#按照组返回一个匹配结果的元组
str3="""
hello WORLD 李易松
HI man"""
result=re.findall(r".",str3,re.S)#.忽略换行进行匹配,通常用于完整的html源码
result=re.findall(r".",str3)#re.S将忽略的换行符重新匹配
result=re.findall(r'[a-z]',str3,re.I)#忽略大小写匹配
#re.I是大写的i将大小写都匹配出来
result=re.findall(r"\w",str3)#\w匹配字符串当中的所有字母、数字、下划线(汉字属于字母)
print(result)
python正则表达式知识点
最新推荐文章于 2023-08-18 15:55:51 发布