我正在使用此re.match调用来获取“正确”的字符串:
re.match('^[A-Za-z0-9\.\,\:\;\!\?\(\)]', str)
但我也得到了一些垃圾,比如#
和_
。怎么可能?我做错了什么?
谢谢!
答案 0 :(得分:2)
用它来检查所有字符,直到字符串结束,否则你的模式只会检查第一个字符:
re.match('^[A-Za-z0-9.,:;!?()]+$', str)
请注意,字符类不包含空格,换行符或制表符。您可以像这样添加它们:
re.match('^[A-Za-z0-9.,:;!?()\s]+$', str)
如果您想允许空字符串,可以用+
替换*
量词