<p>在一个或多个空白字符上拆分单词可能是最好的方法:</p>
<pre><code>import re
s = "About the company -Our client is one of the world's fastest-growing AI-based contract management solution providers.Exp -7+ Years Location -MumbaiJob Role -Min 7years hands-on experience in Natural Language Processing, Machine Learning, Artificial Intelligence, and IBM Watson"
words = re.split(r'\s+', s)
try:
index = words.index('experience')
except Exception:
pass
else:
start = max(index - 5, 0)
end = min(index + 6, len(words))
print(' '.join(words[start:end]))
</code></pre>
<p>印刷品:</p>
<pre><code>-MumbaiJob Role -Min 7years hands-on experience in Natural Language Processing, Machine
</code></pre>
<p>但如果您坚持使用正则表达式,则应在“经验”之前打印最多5个单词,在“经验”之后打印最多5个单词:</p>
<pre><code>import re
s = "About the company -Our client is one of the world's fastest-growing AI-based contract management solution providers.Exp -7+ Years Location -MumbaiJob Role -Min 7years hands-on experience in Natural Language Processing, Machine Learning, Artificial Intelligence, and IBM Watson"
m = re.search(r'([\w,;!.+-]+\s+){0,5}experience(\s+[\w,;!.+-]+){0,5}', s)
if m:
print(m[0])
</code></pre>
<p>印刷品:</p>
<pre><code>-MumbaiJob Role -Min 7years hands-on experience in Natural Language Processing, Machine
</code></pre>
<p><strong>更新以处理“体验”或“体验”</strong></p>
<p>我还简化了正则表达式:</p>
<pre><code>import re
s = "About the company -Our client is one of the world's fastest-growing AI-based contract management solution providers.Exp -7+ Years Location -MumbaiJob Role -Min 7years hands-on Experience in Natural Language Processing, Machine Learning, Artificial Intelligence, and IBM Watson"
# By splitting on one or more whitespace characters:
words = re.split(r'\s+', s)
try:
index = words.index('experience')
except Exception:
try:
index = words.index('Experience')
except Exception:
index = None
if index:
start = max(index - 5, 0)
end = min(index + 6, len(words))
print(' '.join(words[start:end]))
# Using a regular expression:
m = re.search(r'(\S+\s+){0,5}[eE]xperience(\s+\S+){0,5}', s)
if m:
print(m[0])
</code></pre>
<p>印刷品:</p>
<pre><code>-MumbaiJob Role -Min 7years hands-on Experience in Natural Language Processing, Machine
-MumbaiJob Role -Min 7years hands-on Experience in Natural Language Processing, Machine
</code></pre>