正则表达式剥离字符串的开始和结束

时间:2017-07-12 06:08:18

标签: python regex opentsdb

我有一个OpenTSDB查询,我想从中提取指标。查询的格式为(x:)<METRIC_NAME>{<OPTIONS>}

示例查询是15-min-sum:rate:proc.stat.cpu{host=foo,type=idle}

我想提取proc.stat.cpu部分。

Here's what I have so far.如何在同一个正则表达式中捕获字符串的结尾?

3 个答案:

答案 0 :(得分:1)

如果您的查询字符串格式完全相同,则可能会有效。

str = "15-min-sum:rate:proc.stat.cpu{host=foo,type=idle}"
print(str[str.rfind(":")+1 : str.find("{")])

答案 1 :(得分:0)

来自^(\w\W*)*:(.*){(.*)}$的第2组和第3组将分别捕获proc.stat.cpu和选项。

答案 2 :(得分:0)

https://regex101.com/r/4aIVLr/4

15的min-sum:速率:proc.stat.cpu {主机= FOO,类型=空闲}

(?![\w-]*:)([\w\.]*)({.*})
creates two group 

proc.stat.cpu

{主机= FOO,类型=空闲}