给出以下字符串:
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”而又不忽略后续的重复字符?
答案 0 :(得分:0)
也许,下面的表达式在re.findall
下可以正常工作:
[^.]+\.[^.]+\.(.+)\.\d{2,4}-\d{2}-\d{2}
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']