如何在python中检查字符串的格式?
我想检查字符串的格式,比如车牌,但我不知道从哪里开始 我希望程序检测字符串是否遵循“LLNN LLL”格式,其中L是字母,N是数字如何在python中检查字符串的格式?,python,string,string-formatting,Python,String,String Formatting,我想检查字符串的格式,比如车牌,但我不知道从哪里开始 我希望程序检测字符串是否遵循“LLNN LLL”格式,其中L是字母,N是数字 关于检查字符串的格式,我已经看到了许多其他问题,但它们是针对不同的编程语言的。像这样的模式匹配是通过正则表达式解决的 正则表达式(或正则表达式)是定义搜索模式的字符串,用于其他字符串 在python中,它们由 例如,下面使用集合匹配[]来搜索a或b,然后是c。在第一种情况下,它将返回None,因为它与cc不匹配。在第二种情况下,找到一个匹配项:zs和xs之间的bc。
关于检查字符串的格式,我已经看到了许多其他问题,但它们是针对不同的编程语言的。像这样的模式匹配是通过正则表达式解决的 正则表达式(或正则表达式)是定义搜索模式的字符串,用于其他字符串 在python中,它们由 例如,下面使用集合匹配
[]
来搜索a
或b
,然后是c
。在第一种情况下,它将返回None
,因为它与cc
不匹配。在第二种情况下,找到一个匹配项:z
s和x
s之间的bc
。因此,它将在if
语句中计算为True
matches_none = re.search('[ab]c', 'cc')
matches_once = re.search('[ab]c', 'qqqzzzbcxxx')
正如Python文档所述,有一些特殊的序列匹配集合或某些条件<例如,代码>\d将匹配任何数字,\w
将匹配任何字母数字。以下所有内容都可以找到匹配项
re.search('\w\d', '!!!54???')
re.search('\d\w', '!!5a?@#[ff')
re.search('[abc]\d\w', 'a5a')
正则表达式还有许多其他特性,包括选择匹配组、查找头、字符串开始和结束匹配的能力,以及处理计数和多重性的各种方法。我认为这就是您所寻找的
In [1]: import re
In [2]: temp = 'LL22 LLL'
In [3]: re.findall(r'[a-zA-Z][a-zA-Z]\d\d [a-zA-Z]+',temp)
Out[3]: ['LL22 LLL']
您可以自己编写代码,查看正则表达式。这是正则表达式的工作,请参阅。解释正则表达式是什么比仅仅用代码片段解决手头的问题而不做任何解释更有用。@Brunodesshuilliers第一个答案已经是正则表达式的解释。回答一些事情没有任何意义。因此,我为一个问题编写了一个解决方案,然后您可能会将此作为注释发布到第一个答案。@Brunodesshuilliers抱歉,我是stackoverflow新手,但我不知道如何将多行代码作为注释发布。。