我使用os.walk()来获取文件名。我需要做的是创建一个文件名列表匹配以下模式:Python正则表达式匹配文件名。使用os.walk()获取文件名
如果'*'
将匹配所有文件。
如果'h*'
将匹配所有以h开头的文件。
如果'*h'
将匹配所有以h结尾的文件。
如果'*h*'
将匹配其中包含h的所有文件。
如果[h-w]*
将在一套匹配任何一个字符,包括设置否定[^ H-W]
我新的正则表达式,我有if语句创建一个针对此问题的困扰。可能有人向我解释(可能有代码示例)如何做到这一点。谢谢。
'*'不是一个有效的正则表达式。也许你想要一个'fnmatch'类型的模式? – 2014-09-01 21:06:46
此外,正则表达式'h *'匹配名为'h','hh','hhh'等的文件,但不包含其他文件。 **模式**'h *'匹配以'h'开始的文件名。 – 2014-09-01 21:07:50
@AvinashRaj,不 - 这显然将正则表达式与fnmatch样式模式混合在一起。 '* h'不是一个有效的正则表达式 - '*'字符必须在其之前有其他东西,因为它会将先前的标记修改为0或更多。 – 2014-09-01 21:08:41