Python REGEX排除字符串开头

时间:2019-10-08 19:23:51

标签: python regex regex-negation

给出以下字符串:

dpkg.log.looker.test.2019-09-25

我希望能够提取:

looker.test

looker


我一直在尝试多种组合,但没有一种组合实际上仅提取主机名。如果我尝试过滤文件(dpkg.log。)的整个开头,则它也会忽略后续字符:
/[^dpkg.log].+(?=.[0-9]{4}-[0-9]{2}-[0-9]{2})/

返回:
er.test

是否有一种方法可以忽略整个字符串“ dpkg.log”而又不忽略后续的重复字符?

1 个答案:

答案 0 :(得分:0)

也许,下面的表达式在re.findall下可以正常工作:

[^.]+\.[^.]+\.(.+)\.\d{2,4}-\d{2}-\d{2}

Demo

测试

import re

regex = r'[^.]+\.[^.]+\.(.+)\.\d{2,4}-\d{2}-\d{2}'
string = '''
dpkg.log.looker.test.2019-09-25
dpkg.log.looker.test1.test2.2019-09-25
'''

print(re.findall(regex, string))

输出

['looker.test', 'looker.test1.test2']