Python 正则表达式问题。验证有效,但分为两部分,我分别提取每个有效的"部分"


我的代码是:
test1 = flight
###Referencelink: http://academe.co.uk/2014/01/validating-flight-codes/
#Do not mess up trailing strings
p = re.compile(r'^([a-z][a-z]|[a-z][0-9]|[0-9][a-z])[a-z]?[0-9]{1,4}[a-z]?$')
m = p.search(test1)  # p.match() to find from start of string only
if m:
 print '[200],[good date and time]'  # group(1...n) for capture groups
else:
 print('[error],[bad flight number]'),quit()

我需要分别获得运营商代码(第一个比特)和航班号(第二个比特)。

我可以提取正则表达式如下:a =正则表达式的'第一个有效部分',b = '第二个有效部分'

试试这个。

p = re.compile(r'^([a-z][a-z]|[a-z][0-9]|[0-9][a-z])([a-z]?[0-9]{1,4}[a-z]?)$')
m = p.findall(test1)

最新更新