我正在尝试为匹配开发一个正则表达式,如果一个字符串只包含字母,数字,空格和点(。),并且没有任何顺序。
像这样:
hello223 3423. ---> True
lalala.32 --->True
.hellohow1 ---> True
0you and me = ---> False (it contains =)
@newye ---> False (it contains @)
With, the name of the s0ng .---> False (it start with ,)
我正在尝试这个,但总是返回匹配:
m = re.match(r'[a-zA-Z0-9,. ]+', word)
有什么想法吗?
制定问题的其他方法是字母,数字,点和空格有什么不同的字符?
提前致谢
答案 0 :(得分:2)
您需要添加$
:
re.match(r'[a-zA-Z0-9,. ]+$', word)
答案 1 :(得分:2)
re.search()
解决方案:
import re
def contains(s):
return not re.search(r'[^a-zA-Z0-9. ]', s)
print(contains('hello223 3423.')) # True
print(contains('0you and me = ')) # False
print(contains('.hellohow1')) # True