我正在从PAN卡上取PAN号码。当我刮削pan number时,有时它在几个数字之间有一些空格,比如DWKP K3344E
,其中实际的pan number表达式是ABCDE1234F
。我想考虑一下,在regex中废弃的数字上也有空格。你知道吗
import re
if re.search(r'^([a-z?A-Z?0-9]){5}([a-z?A-Z?0-9]){4}([a-z?A-Z?0-9]){1}?$', 'DWKP K3344E'):
print("True")
else:
print("False")
对于上述内容,regex代码也应该返回true。为了做到这一点,我们只需要修改代码中的r'^([a-z?A-Z?0-9]){5}([a-z?A-Z?0-9]){4}([a-z?A-Z?0-9]){1}?$'
部分。你知道吗
提前谢谢。你知道吗
我建议在使用regex检查字符串之前,先从字符串中删除空格(比如,使用
re.sub(r'\s+', '', text)
以确保所有Unicode空格都消失)。你知道吗此外,regex在字符类中包含问号,因此这些字符在输入中是允许的。你必须移除它们。你知道吗
试试看
这里,
re.sub(r'\s+', '', text)
首先从文本中删除所有可能的空白,然后^[a-zA-Z0-9]{5}[0-9]{4}[a-zA-Z]$
确保结果匹配:^
-字符串的开头[a-zA-Z]{5}
-五个字母[0-9]{4}
-四位数[a-zA-Z]
-一封信$
-字符串结尾。你知道吗参见regex demo。你知道吗
相关问题 更多 >
编程相关推荐