r'^特定表达式$'和r'特定表达式'之间的区别

时间:2018-07-01 10:08:11

标签: python regex python-3.x

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

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

它具有 ^ $ 签名。但是下面的代码与上面的工作相同。

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

如果是这样,为什么在上面的代码中使用它们。还是有使用它的理由。预先感谢!

2 个答案:

答案 0 :(得分:1)

^的意思是“行的开始”,而$的意思是“行的结束”。 就您而言,每场比赛都是一行,所以您没有任何问题。

答案 1 :(得分:0)

#!/bin/bash #//// INPUT_PATH="foo.txt" OUTPUT_PATH="ResultsSparCC" /// mkdir -p $OUTPUT_PATH/Resamplings2 mkdir -p $OUTPUT_PATH/Bootstraps 之后是将以其开头的字符串或模式,^之后是将以其结尾的字符串或模式。对于您的情况,您的$与字符串的模式匹配,而无需考虑开始或结束部分。