nob*_*ody 4 python regex logic
我正在尝试清除包含"msi"正则表达式和列表理解的字符串.但是,当我打印列表时,包含的字符串"msi"仍在列表中.错误究竟是什么?这是我的代码:
spam_list = [l for l in spam_list if not re.match("msi", l)]
Run Code Online (Sandbox Code Playgroud)
Ign*_*ams 10
re.match()从字符串的开头匹配.使用re.search(),甚至更好in.
L = [l for l in L if "msi" not in l]
Run Code Online (Sandbox Code Playgroud)
由于您显然正在查看文件名列表,因此您还可以使用endswith:
list = [l for l in list if l.endswith('.msi')]
Run Code Online (Sandbox Code Playgroud)