如何在python中使用reg表达式在两个子串之间提取字符?

时间:2017-03-03 11:15:52

标签: python python-2.7

例如,我的字符串是:

[Iteration:0]

我想在[!Iteration:0]&之间存储所有字符lcweb.exe到字符串变量。

2 个答案:

答案 0 :(得分:1)

您可以使用.*?来匹配[Iteration:0]中的所有字符,直至找到[!Iteration:0]

In [1]: import re

In [2]: s = '[00:00:0.047] [TestRunner] [Main] [sleep_assoc] > [Iteration:0][00:00:0.063] [TestRunner] [Main] [sleep_as
   ...: soc] > [!Iteration:0][00:00:0.063]'

In [3]: m = re.search(r'\[Iteration:0](.*?)\[!Iteration:0]', s)

In [4]: res = m.group(1)

In [5]: res
Out[5]: '[00:00:0.063] [TestRunner] [Main] [sleep_assoc] > '

答案 1 :(得分:0)

如果字符串如此简单,你就不需要正则表达式。

只需执行str1.split('[Iteration:0]')[1].split('[!Iteration:0]')[0]

您了解代码还是我会解释?