s="""04-09 11:11:57.879 D/PTT [STACK]( 1653): *********Sending request
04-09 11:11:57.879 [STACK]( 1653): *********
04-09 11:11:57.879 [STACK]( 1653): S: abcd
04-09 11:11:57.879 [STACK]( 1653): l: jockey
04-09 11:11:57.879 [STACK]( 1653): k: sucess
04-09 11:11:57.879 [STACK]( 1653): j: 82
04-09 11:11:57.879 [STACK]( 1653):
04-09 11:11:57.879 [STACK]( 1653): MESSAGE TO BE SENT IS
04-09 11:11:57.879 [STACK]( 1653): Not doing anything
04-09 11:11:57.879 [STACK]( 1653): Not doing anything
04-09 11:11:57.879 [STACK]( 1653): Not doing anything
04-09 11:11:57.879 D/PTT [STACK]( 1653): *********Sending request
04-09 11:11:57.879 [STACK]( 1653): *********
04-09 11:11:57.879 [STACK]( 1653): S: abcd
04-09 11:11:57.879 [STACK]( 1653): l: Donald
04-09 11:11:57.879 [STACK]( 1653): k: sucess
04-09 11:11:57.879 [STACK]( 1653): j: 83
04-09 11:11:57.879 [STACK]( 1653):
04-09 11:11:57.879 [STACK]( 1653): MESSAGE TO BE SENT IS
04-09 11:11:57.879 [STACK]( 1653): Not doing anything
04-09 11:11:57.879 [STACK]( 1653): Not doing anything
04-09 11:11:57.879 [STACK]( 1653): Not doing anything
04-09 11:11:57.879 D/PTT [STACK]( 1653): *********Sending request
04-09 11:11:57.879 [STACK]( 1653): *********
04-09 11:11:57.879 [STACK]( 1653): S: abcd
04-09 11:11:57.879 [STACK]( 1653): l: Mickey
04-09 11:11:57.879 [STACK]( 1653): k: sucess
04-09 11:11:57.879 [STACK]( 1653): j: 84
04-09 11:11:57.879 [STACK]( 1653):
04-09 11:11:57.879 [STACK]( 1653):
04-09 11:11:57.879 [STACK]( 1653): MESSAGE TO BE SENT IS
04-09 11:11:57.879 D/PTT [STACK]( 1653): *********Sending request
04-09 11:11:57.879 [STACK]( 1653): *********
04-09 11:11:57.879 [STACK]( 1653): S: abcd
04-09 11:11:57.879 [STACK]( 1653): l: Donald
04-09 11:11:57.879 [STACK]( 1653): k: sucess
04-09 11:11:57.879 [STACK]( 1653): j: 83
04-09 11:11:57.879 [STACK]( 1653):
04-09 11:11:57.879 [STACK]( 1653): MESSAGE TO BE SENT IS
04-09 11:11:57.879 D/PTT [STACK]( 1653): *********Sending request
04-09 11:11:57.879 [STACK]( 1653): *********
04-09 11:11:57.879 [STACK]( 1653): S: abcd
04-09 11:11:57.879 [STACK]( 1653): l: jockey
04-09 11:11:57.879 [STACK]( 1653): k: sucess
04-09 11:11:57.879 [STACK]( 1653): j: 82
04-09 11:11:57.879 [STACK]( 1653):
04-09 11:11:57.879 [STACK]( 1653): MESSAGE TO BE SENT IS"""
exepat= re.compile(".*Sending request.*?Donald.*?TO BE SENT IS",re.DOTALL)
reout = exepat.findall(s)
print reout[0]
Expected Output:
04-09 11:11:57.879 D/PTT [STACK]( 1653): *********Sending request
04-09 11:11:57.879 [STACK]( 1653): *********
04-09 11:11:57.879 [STACK]( 1653): S: abcd
04-09 11:11:57.879 [STACK]( 1653): l: Donald
04-09 11:11:57.879 [STACK]( 1653): k: sucess
04-09 11:11:57.879 [STACK]( 1653): j: 83
04-09 11:11:57.879 [STACK]( 1653):
04-09 11:11:57.879 [STACK]( 1653): MESSAGE TO BE SENT IS
「Sending request」と「MESSAGE TO BE SENT IS」の間に「Donald」を含むリクエストを抽出するパターンが必要です。上記の例では、2 つのリクエストに「Donald」が含まれているため、reout リストには 2 つの項目が必要です。