<p>您可以更具体一些,在它后面添加换行符和匹配<code>\*Element, type=S4R</code></p>
<pre><code>\*Node\r?\n([\s\S]+?)\r?\n\*Element, type=S4R
</code></pre>
<p><a href="https://regex101.com/r/dqtP46/1" rel="nofollow noreferrer">Regex demo</a></p>
<p>在没有不必要的回溯的情况下,您还可以使用<code>*Node</code>开始匹配,并使用负前瞻性匹配所有不以<code>*Element</code>开始的行</p>
<pre><code>^\*Node\r?\n((?:(?!\*Element).*\r?\n)*)\*Element, type=S4R
</code></pre>
<p><a href="https://regex101.com/r/vIqSgn/1" rel="nofollow noreferrer">Regex demo</a><a href="https://ideone.com/3bSorA" rel="nofollow noreferrer">Python demo</a></p>
<pre><code>import re
regex = r"^\*Node\r?\n((?:(?!\*Element).*\r?\n)*)\*Element, type=S4R"
text = ("**\n"
"*Part, name=Part-2\n"
"*Node\n"
" 1, 0.25, 0.5, 0.75\n"
" 2, 0.25, 0., 0.75\n"
" 1416, 0.200000003, 0., 0.0500000007\n"
"*Element, type=S4R\n"
" 1, 1, 21, 357, 46\n"
" 2, 21, 22, 358, 357\n"
"*Nset, nset=_PickedSet24, internal, generate\n"
" 1, 1416, 1\n"
"**")
matches = re.search(regex, text, re.MULTILINE)
if matches:
print(matches.group(1))
</code></pre>
<p>输出</p>
<pre><code> 1, 0.25, 0.5, 0.75
2, 0.25, 0., 0.75
1416, 0.200000003, 0., 0.0500000007
</code></pre>
<hr/>
<p>如果要查找所有匹配项,还可以使用<a href="https://ideone.com/DFel7r" rel="nofollow noreferrer">re.findall</a>并以<code>*</code>结束匹配,一个单词字符<code>\w</code>,并使用<code>.*</code>匹配行的其余部分</p>
<pre><code>import re
regex = r"^\*Node\r?\n((?:(?!\*\w).*\r?\n)*)\*\w.*"
text = """** PARTS
**
*Part, name=Part-2
*Node
1, 0.25, 0.5, 0.75
2, 0.25, 0., 0.75
1416, 0.200000003, 0., 0.0500000007
*Element, type=S4R
1, 1, 21, 357, 46
2, 21, 22, 358, 357
*Nset, nset=_PickedSet24, internal, generate
1, 1416, 1
*End Part
**
*Part, name=plate#Part-1
*Node
1, -0.449999988, -0.477499992, 0.
2, -0.400000006, -0.477499992, 0.
121, 0.0500000007, 0.0225000009, 0.
*Nset, nset=_PickedSet2, internal, generate
1, 121, 1
*End Part
**
**"""
print(re.findall(regex, text, re.MULTILINE))
</code></pre>
<p>输出</p>
<pre><code>[' 1, 0.25, 0.5, 0.75\n 2, 0.25, 0., 0.75\n 1416, 0.200000003, 0., 0.0500000007\n', ' 1, -0.449999988, -0.477499992, 0.\n 2, -0.400000006, -0.477499992, 0.\n 121, 0.0500000007, 0.0225000009, 0.\n']
</code></pre>