<p>您遇到了转义特殊字符的问题。因为您没有使用原始字符串,所以反斜杠在字符串文本本身中有特殊的含义。此外,字符类(带有<code>[]</code>)不需要在正则表达式中转义。您可以将表达式简化如下:</p>
<pre><code>expression = r"https://www.mylife.com/people-search/[a-z]+-[a-z]+/e\d+"
</code></pre>
<p>具有以下数据:</p>
<pre><code>strings = ['https://www.mylife.com/people-search/john-smith/e5609239',
'https://www.this.com/people-search/jane-johnson/e426609216',
'https://www.this.com/people-search/wendy-saad/e172645609215',
'https://www.this.com/people-search/nick-madison/e7265609214',
'https://www.this.com/people-search/tom-taylor/e17265709211',
'https://www.this.com/people-search/james-bates/e9212']
</code></pre>
<p>结果:</p>
<pre><code>>>> for s in strings:
... print(re.match(expression, s))
...
<_sre.SRE_Match object; span=(0, 56), match='https://www.this.com/people-search/john-smith/e>
<_sre.SRE_Match object; span=(0, 60), match='https://www.this.com/people-search/jane-johnson>
<_sre.SRE_Match object; span=(0, 61), match='https://www.this.com/people-search/wendy-saad/e>
<_sre.SRE_Match object; span=(0, 61), match='https://www.this.com/people-search/nick-madison>
<_sre.SRE_Match object; span=(0, 60), match='https://www.this.com/people-search/tom-taylor/e>
<_sre.SRE_Match object; span=(0, 54), match='https://www.this.com/people-search/james-bates/>
</code></pre>