擅长:python、mysql、java
<p>像这样的事情是“正则表达式”的领域。正则表达式用于模式匹配。这本身就是一个很宽泛的问题,这里要解释的太多了(请勾选<a href="https://www.regexbuddy.com/regex.html" rel="nofollow noreferrer">regexbuddy or another site</a>)</p>
<p>python在<code>re</code>(以及<code>regex</code>模块)下有一个内置的正则表达式编译器。因此,一个简单的解决办法是:</p>
<pre><code>word for word in somelist if re.search(r"[a-zA-Z]\d{3}[a-zA-Z]", word)
</code></pre>
<p>它在somelist上迭代,并选择与两个“范围”中的一个字符(完全)匹配的任何内容,后跟3位数字,后跟该范围中的一个字符</p>
<p>注释中的注释:<code>re.search</code>将匹配(查找)任何项目,该项目的“部分”与“模式”匹配。因此它将匹配<code>a123b</code>和<code>abc b123cd</code>。如果希望确保数组中的完整“单词”与子字符串匹配,请改用<code>re.fullmatch</code>。<br/>
Fullmatch将匹配<code>a123b</code>但不匹配<code>abc b123cd</code>和不匹配<code>ab123cd</code></p>