【问题标题】:Regular expression example in python 3python 3中的正则表达式示例
【发布时间】:2016-07-29 18:40:33
【问题描述】:

测试字符串 S。 S 的长度必须大于或等于 5。 第一个字符是小写字母。 第二个字符是正数。 第三个字符不是小写字母。 第四个字符不是大写字母。 第五个字符是大写字母。

import re

Regex_Pattern = r"^[a-z][0-9][^a-z][^A-Z][A-Z]"

print(str(bool(re.search(Regex_Pattern, input()))).lower())

为什么,使用这段代码,我不能匹配字符串:a0$?ZWe 来打印False 而不是打印True

【问题讨论】:

  • 为什么在匹配正则表达式时会打印False?也许您的意思是在input 上调用lower,而不是在str(bool(...)) 的结果上?
  • 实际上,我希望该字符串为False 而不是True。我的意思是 a0$?ZWe 不匹配。我的错。
  • 但它确实匹配,除非您不认为 0 是一个正数。在这种情况下,将 [0-9] 更改为 [1-9]

标签: regex python-3.x


【解决方案1】:

0 不是正数,但您在正则表达式中匹配它。

[0-9] 更改为[1-9]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-31
    • 1970-01-01
    • 2010-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多