擅长:python、mysql、java
<p>这里的问题是您使用re.findall的方式,根据<a href="https://docs.python.org/3/library/re.html#re.findall" rel="nofollow noreferrer">docs</a>,您必须将正则表达式作为第一个参数传递,并将要匹配表达式的字符串作为第二个参数传递。就你而言,我认为你应该这样做:</p>
<pre><code>pattern = f'id: ({"|".join(statsids)})'
with open(f) as file:
for line in file:
match = re.findall(pattern, line)
print(match.group(0))
</code></pre>
<p>在正则表达式中,管道操作符“|”通过将所有id连接为一个字符串,并在它们之间插入|来查找与一个id或另一个id匹配的所有情况。match.group行返回找到它的位置</p>