正则表达式练习网站
regex101: build, test, and debug regexhttps://regex101.com/
8.1 身份证号分析
正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。
import re
s = '1102231990xxxxxxxx'
res = re.search('(?P<province>\d{3})(?P<city>\d{3})(?P<born_year>\d{4})',s)
print("re.search获得的为一个对象,无法正常输出:",res)
print("捕获到的列表",res.groupdict()) # 打印捕获到的列表
re.search获得的为一个对象,无法正常输出: <re.Match object; span=(0, 10), match='1102231990'>
捕获到的列表 {'province': '110', 'city': '223', 'born_year': '1990'}
进程已结束,退出代码0
进程已结束,退出代码0
正则表达式命名:括号内为一个捕获组
(?P<province>\d{3})——数字的前3位为省份;
(?P<city>\d{3})——接下来的3为为城市;
(?P<born_year>\d{4})'——接下来的4位为出生年份