<p>使用</p>
<pre class="lang-py prettyprint-override"><code>import re
groupInfo = """Users:
user1
user2
Groups:
group1
group2"""
match = re.search(r'Users:\s*(.*?)(?=\nGroups:)', groupInfo, re.S)
if match:
print(match.group(1).split())
</code></pre>
<p>见<a href="https://tio.run/##TY4xC8MgEIV3f4W45AxBMN0KIWPoXLplCcFUoVE5zdBfb40pITfdu3vvu/PfqJ29pWRW7zBSVOSNbvMPuzjaUcbYKygMd0JLbVnIS9@SYXef@5KVV9FmBCHrFGedeahEUBPOGrA6wGOoQdQ9h74b7R/Gq4aeXzR76MmJWWihHKc8GhuhDESxguQi@I@JwHlKPw" rel="nofollow noreferrer">proof</a></p>
<p><strong>结果</strong>:<code>['user1', 'user2']</code></p>
<p><strong>正则表达式解释</strong></p>
<pre><code>
Users: 'Users:'
\s* whitespace (\n, \r, \t, \f, and " ") (0 or
more times (matching the most amount
possible))
( group and capture to \1:
.*? any character except \n (0 or more times
(matching the least amount possible))
) end of \1
(?= look ahead to see if there is:
\n '\n' (newline)
Groups: 'Groups:'
) end of look-ahead
</code></pre>