#! python
#STRONG PASSWORD PROGRAM
import re, pyperclip
pw_compare_lower=re.compile(r'[a-z]')
pw_compare_upper=re.compile(r'[A-Z]')
pw_compare_digit=re.compile(r'[0-9]')
gr=str(input())
def Checker(gr):
if len(gr)<8:
return 0
if pw_compare_lower.search(gr)==None:
return 0
if pw_compare_upper.search(gr)==None:
return 0
if pw_compare_digit.search(gr)==None:
return 0
return 1
if (Checker(gr))==1:
print("Strong Password")
elif (Checker(gr))==0:
print("Weak Password")
有没有一种方法可以在一行中编写三个pw_compare_digit、pw_compare_upper、pw_compare_lower函数来形成一个regex。
强密码定义为至少8个字符长、包含大写和小写字符且至少有一个数字的密码
是的,和lookaheads
^(?=[^a-z\n]*[a-z])(?=[^A-Z\n]*[A-Z])(?=[^\d]*\d).{8,}$
参见regex101.com.
上的演示
import re, pyperclip
rx = re.compile(r'^(?=[^a-z]*[a-z])(?=[^A-Z]*[A-Z]).{8,}$')
if rx.match(your_string_here):
# pass
我有3个正则表达式,但当模式匹配时执行相同的操作,所以我考虑将所有三个表达式合并为一个。我尝试了很多,但无法让“|”I.e”或“在我的正则表达式中工作 regex1:<代码>文本。替换(/([\u00A9-\u3299])/g,函数myFunction(x){…} regex2: regex3: 我试过这样做,但它不起作用regex:
序:世界上信息非常多,而我们关注的信息有限。假如我们希望只提取出关注的数据,此时可以通过一些表达式进行提取,正则表达式就是其中一种进行数据筛选的表达式。 正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。 正则表达式通常被用来匹配、检索、替换和分割那些符合某个模式(规则)的文本。 Python 自1.5版本起
给定两个文本中的单词由空格和标点符号分隔。从第一个文本中删除第二个文本中包含的所有单词。请帮助我使用正则表达式
问题内容: 我正在学习正则表达式,我想在Python中使用正则表达式仅定义整数-整数,而不定义小数。 我可以使用来制作一个仅允许数字使用的数字,但也可以使用十进制数字,这是我不想要的: 如何更改代码以 仅 允许整数? 问题答案: 正则表达式基于字符进行工作,表示单个数字…而不是十进制数字。 例如,仅匹配带符号整数的正则表达式可能是 含义 -字符串开始 -可选的(这是什么意思)减号或加号 -一个或多
问题内容: 我问这个问题有点傻,但是从我读过的所有内容来看,这应该有效,但对我而言却无效。我只是想使用正则表达式匹配字符串中的整个单词。 因此,如果我试图在句子中找到单词“ the”,则对于“褐狐快速越过懒狗”应该返回true,而对于“褐狐快速越过懒狗”则返回false。 。 我已经试过了: 我也尝试过: 我也尝试过此正则表达式:“ \ bthe \ b” 而且它们总是返回false。我觉得我在这
问题内容: 假设我想要一个正则表达式,使其与“从iPhone发送”和“从iPod发送”都匹配。我该如何写这样的表达? 我尝试过类似的事情: 但似乎不起作用。 问题答案: