检测特定字母序列中的代码

2024-03-28 11:25:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用语言代码,特别是ISO 639-3标准,它使用三个字母的代码来表示语言(eng表示英语,jpn表示日语,等等)。你知道吗

然而,在qaa–qtz范围内的代码是不是正确的语言代码,而是用户必须使用的空代码定义。所以呢,qaaqabqazqba,依此类推。你知道吗

我想知道如何编写能够检测代码是否属于本系列的代码?在这些代码中,最后一个字母一直经过a-z,然后从第二个字母的新序列开始。有点像一个三位数的数字,除了0-9位数,它是a-z字母。你知道吗


Tags: 代码用户语言标准定义字母iso序列
1条回答
网友
1楼 · 发布于 2024-03-28 11:25:45

通过与模式“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上找到一个正匹配,它不符合您想要的模式。你知道吗

相关问题 更多 >