正则表达式
weixin_41534322
这个作者很懒,什么都没留下…
展开
-
正则表达式之强密码
强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在 8-10 之间)。代码如下:^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,10}$#零宽度断言#(?=.*\d)指密码中包含数字#(?=.*[a-z])指密码中包含小写字母#(?=.*[A-Z])指密码中包含大写字母...原创 2021-11-19 13:48:12 · 3680 阅读 · 0 评论 -
正则表达式筛选正确的日期格式
若从众多文本中筛选出DD/MM/YYYY格式的日期,并且要求4月、6月、9月、11月的天数不超30天,2月份在闰年不超29天,非闰年不超28天。此外还要求天和月为单数,要在前面加个0(如1,变为01)。代码如下:import re#(?<!\d)和(?!\d)是为了防止出现类如111/12/20005的情况yearRegex=re.compile(r'(?<!\d)(0?[1-9]|[12][0-9]|30|31)/(0?[1-9]|1[0-2])/([12]\d{3})(?!\d)')原创 2021-11-19 12:29:57 · 553 阅读 · 0 评论 -
正则表达式难点解析
1.正则表达式的通用模板:import rep=re.compile(pattern,flags=0)p.search(string)#扫描整个字符串并返回第一个成功的匹配p.match(string)#尝试从字符串的起始位置匹配,如果不是起始位置匹配成功的话,返回Nonep.findall(string)#扫描整个字符串并返回结果列表;返回的是括号所匹配到的结果,多个括号就会返回多个括号分别匹配到的结果,如果没有括号就返回就返回整条语句所匹配到的结果#pattern是正则表达式,string是原创 2021-11-18 14:31:07 · 201 阅读 · 0 评论 -
正则表达式中re.split的用法分析
re.split(pattern, string, maxsplit=0) ; pattern表示要分割的字符,string表示要分割的字符串,maxsplit表示分割的次数。import reline="我是中国人,我热爱我的祖国;加油!"#1.pattern如果用()表示保留分隔符print(re.split(r'(;|,)',line))#['我是中国人', ',', '我热爱我的祖国', ';', '加油!']#2.pattern如果用[]表示不保留分隔符print(re.split原创 2021-11-17 13:19:50 · 645 阅读 · 0 评论 -
正则表达式非获取性匹配(?:pattern)等的应用
非获取匹配即匹配内容但不获取匹配结果,不进行存储供以后使用,无法用search.groups()获取分组括号里面的内容。import reprint(re.search("win (7|8)", "win 7").group()) # win 7print(re.search("win (7|8)", "win 7").groups()) # ('7',);能获取括号里分组的内容7,获取性匹配# (?:pattern)# 非获取匹配,匹配pattern但不获取匹配结果,不进行存储供以后使用。p原创 2021-11-17 12:44:49 · 229 阅读 · 0 评论