正则表达式与python的负匹配

时间:2013-11-18 15:09:06

标签: python regex regex-negation

我有一个字符串,只允许包含字母,数字,空格和符号':'。所以我写了下面的代码:

regex = r'![a-zA-Z0-9\:\ ]+'
print re.match(regex, myString)

然而它似乎不起作用。我尝试了不同的组合r'?!([a-zA-Z0-9\:\ ])+'以及re.search,但它似乎不起作用。有什么帮助吗?

1 个答案:

答案 0 :(得分:2)

如果您想要肯定匹配(有效字符),请使用:

r'^[a-zA-Z0-9: ]+$'

如果您想要否定匹配(字符串是否包含无效字符),则:

r'[^a-zA-Z0-9: ]+'