擅长:python、mysql、java
<p>您可以捕获组1中要保留的第一个数字,并从X开始删除其余数字</p>
<pre><code>\A(\d+)X.*\Z
</code></pre>
<p><strong>解释</strong></p>
<ul>
<li><code>\A</code>字符串的开头</li>
<li><code>(\d+)X</code>在<strong>组1</strong>中捕获1+个数字,然后匹配X</li>
<li><code>.*\Z</code>匹配任何字符0+次,并断言字符串的结尾</li>
</ul>
<p><a href="https://regex101.com/r/K6zCYg/1" rel="nofollow noreferrer">regex demo</a></p>
<p>比如说</p>
<pre><code>import re
final = ["455XYZ455", "455XYZ455"]
for item in final:
print(re.sub(r"^(\d+)X.*\Z", r"\1", item))
</code></pre>
<p>输出</p>
<pre><code>455
455
</code></pre>