当前位置: 首页 > 知识库问答 >
问题:

正则表达式Python模式[重复]

糜单弓
2023-03-14
import re


pass2Regex = re.compile(r'''
    \d*
    [a-zA-Z]*
    \d*
    [a-zA-Z]*
    ''',re.VERBOSE)


text = raw_input("enter your password\n")
if len(text) >= 8:
    search = pass2Regex.findall(text)
    if text in search:
        print "%s is a strong password" % (text)
    else:
        print "%s is a weak password" % (text)
else:
    print "%s is a weak password" % (text)

谢谢你的帮助

共有1个答案

仲孙疏珂
2023-03-14

您可以使用所有的python,因此不要将自己限制在一个regexp中。为密码必须满足的每个条件编写一个regexp。“包含大写”?微不足道。“小写”?也是微不足道的。“至少一位数”?没问题.“至少8个字长”?甚至不需要正则表达式。

您可以级联测试,将一系列测试与组合在一起,或者将测试放在一个列表中,并像这样一气呵成地应用它们:

tests = [ "[A-Z]", "[a-z]", r"\d", ".{8}" ]
if all(re.search(pat, text) for pat in tests):
    print("It's a strong password")

把你的几个小时的努力留到下一步去。

 类似资料:
  • 问题内容: 我需要这件事的帮助。查看以下正则表达式: 我想查找这样的词:“自制”,“ aaaa-bbb”而不是“ aaa-bbb”,而 不是 “ aaa–aa–aaa”。基本上,我想要以下内容: 单词-连字符-单词。 它适用于所有内容,但该模式会通过:“ aaa–aaa–aaa”,但不应通过。哪种正则表达式适用于此模式? 问题答案: 可以从表达式中删除反斜杠: 下面的代码应该工作 请注意,您可以使

  • 我需要编写一个具有以下规则的正则表达式: null null 这些示例无效: > 12--11(因为它包含两个连字符) 1-2345(因为它包含5号) <>是字符出现在最后一个位置,那么在字符之前必须有一个数字not hypen。 即11-A(必须不及格)11-1A(必须及格)

  • 我是正则表达式的初学者,并尝试搜索特定的数字模式。以下数据以 XML 格式嵌入。 要求是提取数据(最里面的列表)。在这个例子中,数据从24779开始到24760。注意:每次数据可能不是从“24”开始。因此,我计划通过以下逻辑提取:如果标签名(在本例中:DUT_1_PC)具有非零的有效数据,并且有效数据的计数大于100,用逗号分隔,则提取该列表及其标签名(DUT_1_PC)。 我无法提取所需的数据。

  • 如何提取所有字符(包括换行符),直到第一次出现单词序列?例如以下输入: 输入文本: 和序列我想从中提取文本到第二行中第一次出现的。 输出必须为- 我整个上午都在努力。我可以编写表达式来提取所有字符,直到遇到特定字符,但如果我使用这样的表达式: 跨换行符不匹配。

  • 正则表达式中 我想让'IS'不匹配字符串'12ISW125-200B' 而'ISW'匹配字符串'12ISW125-200B' 请问如何写模式代码。 我之前写的代码是: 但实际结果是'IS'也能匹配

  • 为什么要学正则表达式 实际上爬虫一共就四个主要步骤: 明确目标 (要知道你准备在哪个范围或者网站去搜索) 爬 (将所有的网站的内容全部爬下来) 取 (去掉对我们没用处的数据) 处理数据(按照我们想要的方式存储和使用) 我们在昨天的案例里实际上省略了第3步,也就是”取”的步骤。因为我们down下了的数据是全部的网页,这些数据很庞大并且很混乱,大部分的东西使我们不关心的,因此我们需要将之按我们的需要过