后端开发python基础正则表达式python基础大全--正则表达式jwang2024-05-142026-01-23参考地址:正则表达式运用基础函数运用:import repattern = re.compile(r'\d+')print(pattern.split('one1two2three')) #以此分隔并返回分开后的形式print(pattern.match('0one1two2three')) #返回一个对象print(pattern.findall('one111two211three')) #返回所有能匹配的对象print(pattern.finditer('one1two2three')) #返回为迭代器pattern1 = re.compile(r'(\d\w+) (\d\w+)') #相互交换位置print(pattern1.sub(r'\2 \1','1one 2two')) 正则表达式:邮箱等规则字符串可用 re函数模糊查询:判断主题是字符串特殊字符:\d:数字(一个数字(开始为数字则正确))\D:非数字\w:单词字符\W:非单词字符\s:空白字符[1-9]: 1到9数字[a-z|A-Z]:转义符:\\\d:\d\.:..:任意字符|:左右满足任何一个即可正则表达式的数量:*:0个或多个+:1个或多个?:0个或1个 贪婪模式下:取消贪婪模式注意:+ ? * 匹配的是前一个字符贪婪模式:*? +? ?? {1,4}?^:以xxx开头$:以XXX结尾\A:相当于:^\w\Z:相当于:\w${0,5}:格式重复次数0到5次r:转译符,r' ' re函数match:尽量不匹配,找到一个马上返回search:findall:尽量匹配import re# pa = '\d' #规则 --->正则表达式# str1 = 'qaqsqdq12313'## x = re.findall(pa,str1)# print(x)# def is_num(string1):# pattern = '\w+@\w+\.com'# x = re.findall(pattern,string1)# print(x)# return x## while True:# str1 = input('输入邮箱: ')# res = is_num(str1)# if len(res) == 0:# print('xxxx')# else:# print('oooooo')# break# def is_num(string1):# pattern = r"^((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])$"# # pattern = r'1\d\d|25[0-5]|2[0-4]\d'# x = re.findall(pattern, string1)# print(x)# return x### while True:# str1 = input('输入号码: ')# res = is_num(str1)# if len(res) != 1:# print('xxxx')# else:# print('oooooo')# break# content = 'Hello 12345 World'# result = re.match('^Hello\s(\d+)\sWorld', content)# print(result.group()) 贪婪模式# content = 'http://weibo.com/comment/kEraCNdsfgkdsfgjkldsjkl'# result1 = re.match('http.*?comment/(.*?)', content)# result2 = re.match('http.*?comment/(.*)', content)# print('result1', result1.group(1)) # 结果 result1# print('result2', result2.group(1)) # 结果 result2 kEraCN# content = 'Hello 1234567 World_This is a Regex Demo'# result = re.match('^He.*?(\d+).*Demo$', content)# print(result.group(1)) # 结果# result = re.match('^He.*(\d+).*Demo$', content)# print(result.group(1)) # 结果 7