擅长:python、mysql、java
<p>继续我的评论,您可以创建许多不同的模式,并迭代其中的每一个模式,而不是使用一个模式使用大量不同的<code>OR</code>语句。类似这样的方法可能会奏效:</p>
<pre><code>regex = "January|February|March|April|May|June|July|August|September|October|November|December|Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Sept|Oct|Nov|Dec"
regex = ["((?:"+month+")[\.]*[,]*[ ](?:0?[1-9]|[12][0-9]|3[01])[,|\.][ ](?:(?:20|'|`)[1][1]))" for month in regex.split("|")]
matches = []
for pattern in regex:
matches.append(re.findall(pattern, str(webpage))
</code></pre>
<p>这是一种更为迭代的方法,但速度非常慢。这是因为它会运行关于芬德尔对于每个月,键入每个单独的网页。如您所见,如果您有至少33个链接,如您在问题中所说,这将是<code>24*33</code>运行<code>re.findall</code>。另外,无论如何,我不是python专家,我甚至不完全确定这个解决方案是否能够完全解决您的问题。在</p>