r“^specific expression$”和r“specific expression”之间的差异

2024-04-19 00:23:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我的疑问是我遇到了一个正则表达式,它检查密码是否强。在这个表达式中,^$有什么影响

a = compile(r'^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$')

它有^$符号。但下面的代码与上面的工作原理相同

a = compile(r'(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}')

如果是这样的话,为什么在上面的代码中使用它们呢。或者说它的使用是有原因的。提前谢谢


Tags: 代码密码表达式符号原因原理compile
2条回答

^后面是字符串开头的字符串或模式,$后面是字符串结尾的字符串或模式。对于您的例子,您的regex与字符串的模式匹配,而不考虑起始或结束部分

^表示“行的开始”,而$表示“行的结束”。 在你的情况下,每一场比赛都是一条线,所以你没有任何问题

相关问题 更多 >