Skip to main content
 首页 » 编程设计

python之没有匹配的正则表达式 OR 语句

2025年05月04日22pengyingh

我有这个正则表达式来匹配这两种可能性之一:

(\b(Q|L[A-Z])\d{8}\b) 
 
# Possibilities 
LK10652174 
Q10652174 

现在的结果是:

>>> regex.findall(string) 
[(u'LK10652175', u'LK')] 

我不希望它选择额外的 LK 匹配项,有没有办法在不获取此额外选择的情况下封装 OR 语句?

请您参考如下方法:

是的,使用非捕获括号(并去掉最外面的括号,你不需要它们):

\b(?:Q|L[A-Z])\d{8}\b