我正在使用此re.match调用仅获取“适当的”字符串:
re.match('^[A-Za-z0-9\.\,\:\;\!\?\(\)]', str)
但是我也遇到了一些垃圾,例如
#
和_
。那怎么可能?我究竟做错了什么?谢谢!
最佳答案
使用它来检查所有字符,直到字符串结尾,否则,您的模式将只检查第一个字符:
re.match('^[A-Za-z0-9.,:;!?()]+$', str)
请注意,字符类不包含空格,换行符或制表符。您可以像这样添加它们:
re.match('^[A-Za-z0-9.,:;!?()\s]+$', str)
如果要允许空字符串,可以将
+
量词替换为*
关于python - Python仅重新匹配字符,数字和一些标点符号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18594583/