我想创建一个python函数,它接受一个单词作为参数,并使用正则表达式包re
来拒绝包含除“0123456789:MF”和“\ s”之外的任何字符的单词。
结构:
def function(word):
pattern = re.compile('REGEXHERE')
if pattern.match(word):
return True
else:
return False
问题在于我不知道那样做的正则表达式。
解
由于我无法回答我自己的问题,我在这里发布了@MartinBonner提供的解决方案,该解决方案运行得很好:
def function(word):
return not re.compile('[^0-9::MF\\s]').search(word)
答案 0 :(得分:1)
使用字符类。你的正则表达式应该是:
'[\\d:MF\\s]+'
为确保整个字符串匹配,请使用^
和$
围绕它:
'^[\\d:MF\\s]+$'
答案 1 :(得分:0)
如果您指的是正则表达式保留字中的\s
,请执行此操作
^[\d:MF\s]+$