gpt4 book ai didi

python - 使用 python 的正则表达式检测 2 个连续大写字母的问题

转载 作者:行者123 更新时间:2023-11-28 21:32:45 25 4
gpt4 key购买 nike

这是我要完成的练习:

  1. 车牌号车牌由 2 个大写字母、一个破折号 ('-')、3 个数字、一个破折号 ('-') 和最后 2 个大写字母组成。编写脚本来检查输入的字符串是否为车牌(input() 方法)。如果正确,打印“good”。如果不正确,打印“不好”。

这是我的代码:

import re
plate = input("Enter your License plate number:")
patern = '[A-Z]{2}[-]\d{3}[-]\[A-Z]{2}'
if re.match(patern, plate):
print("good")

else:
print("NOT good")

这是我的输出:

Enter your License plate number:AA-999-AA
NOT good

所以我尝试使用 \w 而不是 [A-Z] 并且它使用小写字母,但是使用 [A-Z] 它不会' t 检测大写字母...

我在 google 和 stack overflow 上搜索,没有找到任何解决方案,你们能帮帮我吗?

非常感谢!

最佳答案

您在模式中有一个无关的反斜杠。就remove it :

pattern = r"[A-Z]{2}-\d{3}-[A-Z]{2}"

例子:

>>> import re
>>> re.match(r"[A-Z]{2}-\d{3}-[A-Z]{2}", "AA-999-AA")
<re.Match object; span=(0, 9), match='AA-999-AA'>

此外,无需将文字 - 包含在字符集 [] 中。

关于python - 使用 python 的正则表达式检测 2 个连续大写字母的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55829823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com