我有一个字符串ABC No.BC2345GFSD234CD
。我试图在python中编写一个正则表达式来提取BC2345GFSD234CD
。我还有一些表达式都依赖于此。我试过像^[^\.]*\.(?P<number>[A-Z0-9]*).*$
这样的东西。有没有一些优雅的方法来做到这一点?
编辑:我有一个包含许多regex
的文件。还有另一个程序可以获取这些正则表达式并在某些字符串上使用re.match
。它是一个通用程序,我需要根据它来适应我的正则表达式。另外,我需要使用re.match()
而不是re.search()
。
更多字符串可能是: -
&#39;&LT; lot_of_spaces&gt; ABC No.BC2345GFSD234CD&lt; lot_of_spaces&gt;&#39;
&#39;&LT; lot_of_spaces&gt; no-ABC.BC2345GFSD234CD&lt; lot_of_spaces&gt;&#39;
在每种情况下,我都需要提取 - BC2345GFSD234CD
答案 0 :(得分:1)
不需要正则表达式。
>>> "ABC No.BC2345GFSD234CD".split('.')[-1]
'BC2345GFSD234CD'
或强>
如果你真的想要使用正则表达式,那么你可以试试这个。这将匹配最后存在的所有非点字符。
>>> re.search(r'[^.]*$', "ABC No.BC2345GFSD234CD").group()
'BC2345GFSD234CD'
答案 1 :(得分:0)
如果它是你需要的最后15个字符,只需切片:
>>> 'ABC No.BC2345GFSD234CD'[-15:]
'BC2345GFSD234CD'