我想从标准vsftp日志文件中获取整个文件名和扩展名。Python正则表达式匹配整个文件名包含文件扩展名
的文件是如下:
Wed Aug 31 10:23:59 2017 1 ::ffff:172.18.1.168 18593420 /Shell_Scripting.sh b _ i r user1 ftp 0 * c
Wed Aug 31 10:24:18 2017 1 ::ffff:172.18.1.168 18593420 /test.txt b _ i r user1 ftp 0 * c
我想正则表达式
pattern = re.compile(r'\/(\w+)')
match = pattern.search(ftpfile)
print match.group(1)
但唯一的匹配文件名(Shell_Scripting &试验)不包括扩展名(.SH & .TXT)。
我试图re.compile(r'\/(.+\.\w+)')
和re.compile(r'\/(\w+\.\w+)')
他们都表现出AttributeError: 'NoneType' object has no attribute 'group'
什么应该是正确的正则表达式匹配文件名包含文件扩展名?
不要尝试正则表达式匹配文件名。那么空间呢?其他有趣的角色呢,都是由本地文件系统所允许的?怎么样多个'.ext.ens.ions'?取而代之的是将部件匹配到“18593420”,然后匹配一组'。+',然后匹配'b_i r user1 ftp 0 * c'-part。 – user2722968
@ user2722968感谢提醒。是的,空白空间应该是一个问题。我会尝试另一种方法 – Ilikeperl