正则表达式:在一个单词后第一次出现空格后获取所有内容

时间:2017-11-16 00:54:05

标签: python regex splunk

我需要在字符串后的第一个空格后获取所有字符。 例如。我需要从格式为

的字符串中获取{'s':'2'}
a=1 session=<value> {'s'='2'}

该值将是无空间的随机长度,{'s'='2'}之前将有空格。因此,{'s'='2'}将始终出现在字符串&#39; session =&#39;之后以及之后的第一个空格,a=1之前会有session个可变数量的键值对。

E.g。

From: a=1 b=2 session=sdasdsadsa {'foo':'2'}         # I need to get {'foo':'2'}
From: a=1 b=2  c=3 session=s2312dssdaa {'bar':'3'}   # I need to get {'bar':'3'}

2 个答案:

答案 0 :(得分:0)

简单的一个班轮:

print(string.split(substr)[1][1:])

string是您的字符串,substr是子字符串。

这会将字符串分解为列表,然后再次使用空格连接倒数第二个值。

输出:

>>> string = "a=1 session=<value> {'s'='2'}"
>>> substr = "session=<value>"
>>> print(string.split(substr)[1][1:])
{'s'='2'}
>>>

答案 1 :(得分:0)

此正则表达式应该有效/^\S*\s+(\S+) /

这可能是一种更好的写作方式。因为这做了很多操作。