这篇文章主要讲解了“python正则表达式实例用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python正则表达式实例用法”吧!
实例1:强口令检测
题目:写一个函数,它使用正则表达式, 确保传入的口令字符串是强口令。强口令的定义是:长度不少于 8 个字符, 同时包含大写和小写字符, 至少有一位数字。你可能需要用多个正则表达式来测试该字符串,以保证它的强度。
思路:
1、程序需要编写一个Python函数,该函数实现字符串的测试
2、需要用正则表达式进行判定字符串是否符合条件1(长度不少于 8 个字符)、条件2(同时包含大写和小写字符)和条件3(至少有一位数字)
实现:本文提供3种写法:
1、
import redef strongPassword(str): #定义正则表达式函数 lengthRex1 =re.compile(r'[a-z]+') # 创建正则表达式对象1 lengthRex2 =re.compile(r'[A-Z]+') # 创建正则表达式对象2 lengthRex3 =re.compile(r'[0-9]+') # 创建正则表达式对象3 if len(str) <=8: return 1 if lengthRex1.search(str) == None: return 1 if lengthRex2.search(str) == None: return 1 if lengthRex3.search(str) == None: return 1 else: print('口令强度足够!可以使用!') return 0print("强口令要求:字符串长度不少于8个,同时包含大小写,且至少含有一位数字。")flag = 1while(flag): strongStr =input("请输入一个强口令:") flag =strongPassword(strongStr)
2、
import redef strongPwd(Password): regexList =[r'[a-zA-Z0-9]{8,}', r'[a-z]+', r'[A-Z]+', r'[0-9]+'] for i inregexList: pwdRegex =re.compile(i).search(Password) if pwdRegexis None: print("密码: %s 格式错误" % Password) return print("密码格式正确。")Password = input("请输入密码:")strongPwd(Password)
3、
import redef passwordcheck(password): passwordRegex = re.compile(r'''( (?=^.{8,}$) #8位以上 (?=.*\d) #至少一位数字 (?=.*[A-Z]) #至少一个大写字母 (?=.*[a-z]) #至少一个小写字母 )''',re.VERBOSE) match = passwordRegex.match(password) return match is not Noneprint('请输入密码')password=str(input())print(passwordcheck(password))
实例2:strip()的正则表达式版本
题目:写一个函数,它接受一个字符串, 做的事情和 strip()字符串方法一样。如果只传入了要去除的字符串, 没有其他参数,那么就从该字符串首尾去除空白字符。否则, 函数第二个参数指定的字符将从该字符串首尾去除。
思路:
1、根据strip()方法特性,去除头尾特定字符需要用到“ ^ ”和“ $ ”符号。
2、由于不能事先知道去除哪些字符,因此在正则表达式中需要用到format格式字符串。需要用 | “管道"符号在^{0}和{0}$之间插入,匹配多个分组。
3、sub()方法返回替换后的字符串,因此sub()方法的第一个参数为”"空。
4、*默认去除字符串首尾空白字符,我的方法是在input()输入参数二时,若input() == “”,则重新赋值参数二为" "空格-星号,星号匹配0次或多次分组,能够匹配到所有空格。
实现:
import redef fakeStrip(longStr,str ): stripRex =re.compile(r'^{0}|{0}$'.format(str)) return stripRex.sub('',longStr)inputStr1 =input("请输入原字符串:")inputStr2 =input("请输入要去除的字符:")if inputStr2 =='': #若第二参数是否为空,更改为' *',方便正则表达式进行模式匹配 inputStr2 = ' *'print("去除后的字符串为:",fakeStrip(inputStr1,inputStr2))
感谢各位的阅读,以上就是“python正则表达式实例用法”的内容了,经过本文的学习后,相信大家对python正则表达式实例用法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/u/4579683/blog/4382738