Python只匹配字符,数字和一些标点符号

时间:2013-09-03 14:14:56

标签: python regex

我正在使用此re.match调用来获取“正确”的字符串:

re.match('^[A-Za-z0-9\.\,\:\;\!\?\(\)]', str)

但我也得到了一些垃圾,比如#_。怎么可能?我做错了什么?

谢谢!

1 个答案:

答案 0 :(得分:2)

用它来检查所有字符,直到字符串结束,否则你的模式只会检查第一个字符:

re.match('^[A-Za-z0-9.,:;!?()]+$', str)

请注意,字符类不包含空格,换行符或制表符。您可以像这样添加它们:

re.match('^[A-Za-z0-9.,:;!?()\s]+$', str)

如果您想允许空字符串,可以用+替换*量词