2017-03-03 26 views
1

EG-我的字符串是:如何在Python中使用reg表達式提取兩個子字符串之間的字符?

str1="[00:00:0.047] [TestRunner] [Main] [sleep_assoc] > [Iteration:0][00:00:0.063] [TestRunner] [Main] [sleep_assoc] > [!Iteration:0][00:00:0.063]" 

我想所有的字符[Iteration:0] & [!Iteration:0]之間存儲到一個字符串變量。

+0

我不假設你自己試過任何東西嗎? –

+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] > ' 
0

你不需要正則表達式,如果字符串是如此簡單。

只是做一個str1.split('[Iteration:0]')[1].split('[!Iteration:0]')[0]

你理解的代碼或我要解釋一下嗎?

相關問題