简介:本文的首席执行官注释将介绍Python正则表达式数字数量的相关内容。我希望这对每个人都会有所帮助。让我们来看看。
居民身份证的数量是根据国家标准编制的,由18位数字组成:前六位数字是行政部门的代码,第七位至14位是出生日期代码,第15至17位是订单代码,第18位是第18位,第18位是第18位。对于验证代码。在尾号的验证代码时,它是由数字汇编单元的统一公式计算得出的。如果某人的尾巴数为0-9,则不会有X,但是如果尾巴号为10,则必须使用X使用X使用X来使用X,则必须使用X使用X来使用X。相反,因为如果您使用10个尾号,那么此人的身份证将成为19位数字,而19位数字违反了国家标准,而我国家的计算机应用系统无法识别19个ID号。的是罗马数字的10个。使用X替换10,这可以确保公民的身份证符合国家标准。总而言之,可以看出,“ X”不是英语字母,而是罗马数字,因此与此案无关。正确的方法是:法
多少问题
1.您必须测试是否匹配多个,应该使用Findall而不是搜索。搜索只能找到第一场比赛。
2. D {8}您写了D {8}
3. {6}是精确的6位数字,{6,}将匹配8 -bit 12345678
导入RE模块:
导入
idcardpattern = r'44d {15}(d | x)'#例如,广东ID卡以44开始
str1 ='4405821988110812180x'#
m = re.compile(idcardpattern).match(str1)
打印(“匹配:” + str(m.group()))
以上搜索示例在Python3中
通过测试并匹配18个数字。仅查找要更改为:idcardpattern的第6个数字
=
r'44d {4}'
本质
根据您的要求,Python程序与定期匹配的双数数字匹配
导入
S =“ 123456 8888 36”
REGEX = r'bd {2} b'
temp = re.com(REGEX)
打印(temp.findall(s))
模式= r'([1-9] {1,3}(。[0-9] {1,3}){3}){3})'
[1-9] {1,3}指示1、2位或3位数字,由1-9之间的任何数字组成,例如1,12,123
。[0-9] {1,3}指示1、2位数字或3位数字由0-9之间的任何数字组成,例如.1,.12,.123
(。[0-9] {1,3}){3}指示。[0-9] {1,3}重复3次的匹配条件,例如.1.2.3,.1.12.123,168.1.1.1.1.1.1.1
([1-9] {1,3}(。[0-9] {1,3}){3})指示1、2位或3位数字+1由任何数量的匹配1-9个点组成,2数字或3位数字由0-9* 3次之间的任何数字组成,因此您可以匹配127.0.0.1,192.168.1.66
()仅表示括号中的匹配项用作一组匹配,这不会影响匹配条件。
1.首先,P.Search(S)只会找到第一个匹配的字符串
2.其次,P.Findall(S)将记录匹配组,(19 | 20)代表一个应该更改为(?:19 | 20)的组
以下代码可以满足您的要求:
# - * - 编码:UTF-8 - * -
来自__future__ import print_function,分区
导入
S ='ID:042性别:M DOB:1967-08-17状态:Active 1968'
p = re.com(r'(r'(?:19 | 20)d {2}')
#S ='ID:042性别:M DOB:1967-08-17状态:Active 1968'
all_items = re.findall(p,s)
地图(打印,all_iitems)
打印(all_items)
结论:以上是首席CTO注释介绍给所有人的Python正则表达式的全部内容。我希望这对每个人都会有所帮助。如果您仍然想进一步了解这一点,请记住要收集对该网站的关注。
