擅长:python、mysql、java
<p>您可以使用以下模式:</p>
<pre><code>(?s)^TSH;.*?Z01;(?=\nTSH|\nTSV;4)
</code></pre>
<ul>
<li><code>(?s)</code><code>re.DOTALL</code>选项。你知道吗</li>
<li><code>^TSH;</code>匹配字符串开头的子字符串<code>TSH;</code>。你知道吗</li>
<li><code>.*?</code>懒洋洋地匹配任何东西。你知道吗</li>
<li><code>Z01;</code>匹配子串<code>Z01;</code>。你知道吗</li>
<li><code>(?=\nTSH|\nTSV;4)</code>。正向前瞻<code>TSH</code>或<code>TSV;4</code>。你知道吗</li>
</ul>
<p>你可以在现场<a href="https://regex101.com/r/8cbS4o/3" rel="nofollow noreferrer">here</a>试试。你知道吗</p>
<p>在Python中,您可以使用:</p>
<pre><code>print(re.findall(r'^TSH;.*?Z01;(?=\nTSH|\nTSV;4)',mystr,re.DOTALL|re.MULTILINE))
</code></pre>