<p>您的搜索没有返回匹配,因为您是在<code>str</code>表示的<code>file object</code>上进行搜索的,而不是实际的文件内容。你知道吗</p>
<p>您基本上是在搜索以下内容:</p>
<pre><code><open file 'TrueURL_tmp.txt', mode 'w+' at 0x7f2d86522390>
</code></pre>
<p>如果要搜索文件内容,请关闭该文件,以便明确写入内容,然后重新打开并读取行,或者只在循环中搜索<code>for link in g_data:</code></p>
<p>如果确实要写入临时文件,请使用临时文件:</p>
<pre><code>from tempfile import TemporaryFile
with TemporaryFile() as f:
for link in g_data:
f.write(link.get("href") + '\n')
f.seek(0)
#Creates Regex Pattern for TrueURL_tmp
pattern = re.compile(r'thread/.*/*apple|thread/.*/*potato')
search_pattern = re.search(pattern, f.read())
</code></pre>
<p><code>search_pattern</code>是一个<code>_sre.SRE_Match object</code>,所以您可以称为组i,e<code>print(search_pattern.group())</code>,或者您想使用findAll。你知道吗</p>
<pre><code> search_pattern = re.findall(pattern, f.read())
for url in search_pattern:
print (url)
</code></pre>
<p>我仍然认为在你写任何东西之前做搜索可能是最好的方法,也许根本不写,但我不完全确定你到底想做什么,因为我看不出文件如何适合你正在做的事情,连接到一个字符串将达到同样的效果。你知道吗</p>
<pre><code> pattern = re.compile(r'thread/.*/*apple|thread/.*/*potato')
for link in g_data:
match = pattern.search(link.get("href"))
if match:
print(match.group())
</code></pre>