我使用语言代码,尤其是ISO 639-3标准,它使用三个字母代码来表示语言(英语为eng
,日语为jpn
等。)
但是,qaa–qtz
范围内的代码不是正确的语言代码,但只是用户必须定义的空代码。所以,qaa
,{{1 }} ... qab
,qaz
等等。
我想知道如何编写能够检测代码是否属于此系列的代码?在这些代码中,最后一个字母一直通过az,然后从a开始第二个字母中的新序列。有点像三位数字,除了代替0-9位数字,它是a-z字母。
答案 0 :(得分:3)
您可以使用正则表达式匹配模式' q [a-t] [a-z]'
轻松完成此操作 import re
a = ['abc','qaa','qbc','qtz','q12','qua','qabx']
for i in a:
if re.match('q[a-t][a-z]',i) and len(i) == 3:
b = 'MATCH'
else:
b = 'NO MATCH'
print('{} : {}'.format(i,b))
编辑:忘了做长度检查。如果没有它,正则表达式会在' qabx'这不适合你想要的模式。