python正则表达式匹配全部大写字母和数字或只是数字

时间:2012-04-03 19:07:09

标签: python regex

import re

re.compile(([0-9]|[A-Z0-9]))

这是正确的做法吗?

谢谢!

2 个答案:

答案 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]+$')