import re
pattern_str = "([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼]" \
"{1}(([A-HJ-Z]{1}[A-HJ-NP-Z0-9]{5})|([A-HJ-Z]{1}(([DF]{1}[A-HJ-NP-Z0-9]{1}[0-9]{4})|([0-9]{5}[DF]" \
"{1})))|([A-HJ-Z]{1}[A-D0-9]{1}[0-9]{3}警)))|([0-9]{6}使)|((([沪粤川云桂鄂陕蒙藏黑辽渝]{1}A)|鲁B|闽D|蒙E|蒙H)" \
"[0-9]{4}领)|(WJ[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼·•]{1}[0-9]{4}[TDSHBXJ0-9]{1})" \
"|([VKHBSLJNGCE]{1}[A-DJ-PR-TVY]{1}[0-9]{5})"
string_str = '鄂A8N95A'
# 校验车牌
def is_car_number(pattern, string):
if re.findall(pattern, string):
return True
else:
return False
if __name__ == '__main__':
print(is_car_number(pattern_str, string_str))
# 最后输出为 True
常规车牌号:省份+地区代码+五位数字/大写英文字母(序号位)如:粤B12345。
新能源车牌号:省份简称(1位汉字)+发牌机关代号(1位字母)+序号(6位)
警车车牌:车牌最后汉字为警字
领事馆车牌:车牌中包括“使”或“领”字
武警车牌:车牌开头包括WJ
军用车牌:字头+字头号 +序号组成。