import re
re.compile(([0-9]|[A-Z0-9]))
这是正确的做法吗?
谢谢!
答案 0 :(得分:7)
您需要提供re.compile()
字符串,并且您当前的正则表达式只匹配单个字符,请尝试将其更改为以下字符:
import re
pattern = re.compile(r'^[A-Z\d]+$')
现在,您可以使用pattern.match(some_string)
测试字符串以查看是否匹配此模式。
请注意,我使用了raw string literal,以确保正确处理反斜杠。
开头的^
和结尾的$
称为锚点,^
仅匹配字符串的开头,而$
仅匹配字符串的末尾字符串,它们是必需的,因为你指定你只想匹配完全大写字符或数字的字符串,否则你只能匹配一个子字符串。
答案 1 :(得分:1)
正确的方法是:
re.compile(r'^[A-Z\d]+$')