我的疑问是我遇到了一个正则表达式,该正则表达式检查密码是否强壮。 ^ 和 $ 在此表达式中有什么影响。
a = compile(r'^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$')
它具有 ^ 和 $ 签名。但是下面的代码与上面的工作相同。
a = compile(r'(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}')
如果是这样,为什么在上面的代码中使用它们。还是有使用它的理由。预先感谢!
答案 0 :(得分:1)
^
的意思是“行的开始”,而$
的意思是“行的结束”。
就您而言,每场比赛都是一行,所以您没有任何问题。
答案 1 :(得分:0)
#!/bin/bash
#////
INPUT_PATH="foo.txt"
OUTPUT_PATH="ResultsSparCC"
///
mkdir -p $OUTPUT_PATH/Resamplings2
mkdir -p $OUTPUT_PATH/Bootstraps
之后是将以其开头的字符串或模式,^
之后是将以其结尾的字符串或模式。对于您的情况,您的$
与字符串的模式匹配,而无需考虑开始或结束部分。