【发布时间】: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