diff --git a/python/phonenumbers/carrierdata/data0.py b/python/phonenumbers/carrierdata/data0.py index 52a02241..334e6764 100644 --- a/python/phonenumbers/carrierdata/data0.py +++ b/python/phonenumbers/carrierdata/data0.py @@ -1115,6 +1115,7 @@ '23676':{'en': 'Telecel'}, '23677':{'en': 'Nationlink'}, '23762':{'en': 'Camtel'}, + '23764':{'en': 'Orange'}, '237650':{'en': 'MTN Cameroon'}, '237651':{'en': 'MTN Cameroon'}, '237652':{'en': 'MTN Cameroon'}, @@ -1136,7 +1137,7 @@ '237686':{'en': 'Orange'}, '237687':{'en': 'Orange'}, '237688':{'en': 'Orange'}, - '237689':{'en': 'NEXTTEL'}, + '237689':{'en': 'Orange'}, '23769':{'en': 'Orange'}, '23836':{'en': 'CVMOVEL'}, '23851':{'en': 'T+'}, @@ -1198,6 +1199,7 @@ '24493':{'en': 'UNITEL'}, '24494':{'en': 'UNITEL'}, '24495':{'en': 'Africell'}, + '24496':{'en': 'Africell'}, '24497':{'en': 'UNITEL'}, '24499':{'en': 'Movicel'}, '24595':{'en': 'Orange'}, @@ -1623,6 +1625,7 @@ '2772':{'en': 'Vodacom'}, '2773':{'en': 'MTN'}, '2774':{'en': 'Cell C'}, + '2775':{'en': 'Telkom Mobile'}, '2776':{'en': 'Vodacom'}, '2778':{'en': 'MTN'}, '2779':{'en': 'Vodacom'}, @@ -2079,8 +2082,8 @@ '3375075':{'en': 'Alphalink'}, '3375076':{'en': 'Globalstar Europe'}, '3375077':{'en': 'Globalstar Europe'}, - '3375078':{'en': 'China Telecom (France) Limited'}, - '3375079':{'en': 'China Telecom (France) Limited'}, + '3375078':{'en': 'Bouygues'}, + '3375079':{'en': 'Bouygues'}, '337508':{'en': 'SFR'}, '337509':{'en': 'SFR'}, '33751':{'en': 'Lycamobile'}, @@ -2180,6 +2183,8 @@ '3375759':{'en': 'Twilio Ireland Limited'}, '3375760':{'en': 'Twilio Ireland Limited'}, '3375763':{'en': 'Euroinformation Telecom'}, + '3375764':{'en': 'Bouygues'}, + '3375765':{'en': 'Bouygues'}, '3375767':{'en': 'Euroinformation Telecom'}, '3375770':{'en': 'SFR'}, '3375771':{'en': 'SFR'}, @@ -2545,6 +2550,7 @@ '3474448':{'en': 'Aire Networks'}, '3474449':{'en': 'Alai'}, '347446':{'en': 'PTV'}, + '347449':{'en': 'Alai'}, '347477':{'en': 'Orange'}, '347478':{'en': 'Orange'}, '35051':{'en': 'Gibfibre'}, @@ -3512,13 +3518,7 @@ '4178461':{'en': 'Tismi'}, '4178462':{'en': 'Tismi'}, '4178463':{'en': 'Tismi'}, - '4178470':{'en': 'MTEL'}, - '4178471':{'en': 'MTEL'}, - '4178472':{'en': 'MTEL'}, - '4178473':{'en': 'MTEL'}, - '4178474':{'en': 'MTEL'}, - '4178475':{'en': 'MTEL'}, - '4178476':{'en': 'MTEL'}, + '417847':{'en': 'MTEL'}, '4178480':{'en': 'Nexphone'}, '4178481':{'en': 'Nexphone'}, '4178482':{'en': 'Nexphone'}, diff --git a/python/phonenumbers/carrierdata/data2.py b/python/phonenumbers/carrierdata/data2.py index 08ec2972..b6f4d8ed 100644 --- a/python/phonenumbers/carrierdata/data2.py +++ b/python/phonenumbers/carrierdata/data2.py @@ -4055,6 +4055,7 @@ '852446':{'en': 'Hutchison Telecom', 'zh': u('\u548c\u8a18\u96fb\u8a71\u6709\u9650\u516c\u53f8')}, '852447':{'en': 'China Mobile', 'zh': u('\u4e2d\u56fd\u79fb\u52a8')}, '852448':{'en': 'Hutchison Telecom', 'zh': u('\u548c\u8a18\u96fb\u8a71\u6709\u9650\u516c\u53f8')}, + '852449':{'en': 'Hutchison Telecom', 'zh': u('\u548c\u8a18\u96fb\u8a71\u6709\u9650\u516c\u53f8')}, '852460':{'en': 'China Unicom', 'zh': u('\u4e2d\u56fd\u8054\u901a'), 'zh_Hant': u('\u4e2d\u570b\u79fb\u52d5')}, '8524607':{'en': 'Multibyte', 'zh': 'Multibyte'}, '8524608':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf')}, @@ -4340,6 +4341,7 @@ '852840':{'en': 'China Mobile', 'zh': u('\u4e2d\u56fd\u79fb\u52a8')}, '852841':{'en': 'Hutchison Telecom', 'zh': u('\u548c\u8a18\u96fb\u8a71\u6709\u9650\u516c\u53f8')}, '852842':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf')}, + '852843':{'en': 'Hutchison Telecom', 'zh': u('\u548c\u8a18\u96fb\u8a71\u6709\u9650\u516c\u53f8')}, '8528480':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf'), 'zh_Hant': 'Handy'}, '8528481':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf'), 'zh_Hant': u('\u65b0\u79fb\u52d5\u901a\u8a0a')}, '8528482':{'en': 'HKT', 'zh': u('\u9999\u6e2f\u79fb\u52a8\u901a\u8baf')}, diff --git a/python/phonenumbers/data/region_AO.py b/python/phonenumbers/data/region_AO.py index 9c5a46bc..45210263 100644 --- a/python/phonenumbers/data/region_AO.py +++ b/python/phonenumbers/data/region_AO.py @@ -4,5 +4,5 @@ PHONE_METADATA_AO = PhoneMetadata(id='AO', country_code=244, international_prefix='00', general_desc=PhoneNumberDesc(national_number_pattern='[29]\\d{8}', possible_length=(9,)), fixed_line=PhoneNumberDesc(national_number_pattern='2\\d(?:[0134][25-9]|[25-9]\\d)\\d{5}', example_number='222123456', possible_length=(9,)), - mobile=PhoneNumberDesc(national_number_pattern='9[1-579]\\d{7}', example_number='923123456', possible_length=(9,)), + mobile=PhoneNumberDesc(national_number_pattern='9[1-79]\\d{7}', example_number='923123456', possible_length=(9,)), number_format=[NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{3})', format='\\1 \\2 \\3', leading_digits_pattern=['[29]'])]) diff --git a/python/phonenumbers/data/region_BD.py b/python/phonenumbers/data/region_BD.py index 03ea53db..35532091 100644 --- a/python/phonenumbers/data/region_BD.py +++ b/python/phonenumbers/data/region_BD.py @@ -3,7 +3,7 @@ PHONE_METADATA_BD = PhoneMetadata(id='BD', country_code=880, international_prefix='00', general_desc=PhoneNumberDesc(national_number_pattern='[1-469]\\d{9}|8[0-79]\\d{7,8}|[2-79]\\d{8}|[2-9]\\d{7}|[3-9]\\d{6}|[57-9]\\d{5}', possible_length=(6, 7, 8, 9, 10)), - fixed_line=PhoneNumberDesc(national_number_pattern='(?:4(?:31\\d\\d|423)|5222)\\d{3}(?:\\d{2})?|8332[6-9]\\d\\d|(?:3(?:03[56]|224)|4(?:22[25]|653))\\d{3,4}|(?:3(?:42[47]|529|823)|4(?:027|525|65(?:28|8))|562|6257|7(?:1(?:5[3-5]|6[12]|7[156]|89)|22[589]56|32|42675|52(?:[25689](?:56|8)|[347]8)|71(?:6[1267]|75|89)|92374)|82(?:2[59]|32)56|9(?:03[23]56|23(?:256|373)|31|5(?:1|2[4589]56)))\\d{3}|(?:3(?:02[348]|22[35]|324|422)|4(?:22[67]|32[236-9]|6(?:2[46]|5[57])|953)|5526|6(?:024|6655)|81)\\d{4,5}|(?:2(?:7(?:1[0-267]|2[0-289]|3[0-29]|4[01]|5[1-3]|6[013]|7[0178]|91)|8(?:0[125]|1[1-6]|2[0157-9]|3[1-69]|41|6[1-35]|7[1-5]|8[1-8]|9[0-6])|9(?:0[0-2]|1[0-4]|2[568]|3[3-6]|5[5-7]|6[0136-9]|7[0-7]|8[014-9]))|3(?:0(?:2[025-79]|3[2-4])|181|22[12]|32[2356]|824)|4(?:02[09]|22[348]|32[045]|523|6(?:27|54))|666(?:22|53)|7(?:22[57-9]|42[56]|82[35])8|8(?:0[124-9]|2(?:181|2[02-4679]8)|4[12]|[5-7]2)|9(?:[04]2|2(?:2|328)|81))\\d{4}|(?:2(?:2\\d|[45])\\d\\d|3(?:1(?:2[5-7]|[5-7])|425|822)|4(?:033|1\\d|[257]1|332|4(?:2[246]|5[25])|6(?:2[35]|56|62)|8(?:23|54)|92[2-5])|5(?:02[03489]|22[457]|32[35-79]|42[46]|6(?:[18]|53)|724|826)|6(?:023|2(?:2[2-5]|5[3-5]|8)|32[3478]|42[34]|52[47]|6(?:[18]|6(?:2[34]|5[24]))|[78]2[2-5]|92[2-6])|7(?:02|21\\d|[3-589]1|6[12]|72[24])|8(?:217|3[12]|[5-7]1)|9[24]1)\\d{5}|(?:(?:3[2-8]|5[2-57-9]|6[03-589])1|4[4689][18])\\d{5}|[59]1\\d{5}', example_number='27111234', possible_length=(6, 7, 8, 9, 10)), + fixed_line=PhoneNumberDesc(national_number_pattern='(?:4(?:31\\d\\d|423)|5222)\\d{3}(?:\\d{2})?|8332[6-9]\\d\\d|(?:3(?:03[56]|224)|4(?:22[25]|653))\\d{3,4}|(?:3(?:42[47]|529|823)|4(?:027|525|65(?:28|8))|562|6257|7(?:1(?:5[3-5]|6[12]|7[156]|89)|22[589]56|32|42675|52(?:[25689](?:56|8)|[347]8)|71(?:6[1267]|75|89)|92374)|82(?:2[59]|32)56|9(?:03[23]56|23(?:256|373)|31|5(?:1|2[4589]56)))\\d{3}|(?:3(?:02[348]|22[35]|324|422)|4(?:22[67]|32[236-9]|6(?:2[46]|5[57])|953)|5526|6(?:024|6655)|81)\\d{4,5}|(?:2(?:7(?:1[0-267]|2[0-289]|3[0-29]|4[01]|5[1-3]|6[013]|7[0178]|91)|8(?:0[125]|1[1-6]|2[0157-9]|3[1-69]|41|6[1-35]|7[1-5]|8[1-8]|9[0-6])|9(?:0[0-2]|1[0-4]|2[568]|3[3-6]|5[5-7]|6[0136-9]|7[0-7]|8[014-9]))|3(?:0(?:2[025-79]|3[2-4])|181|22[12]|32[2356]|824)|4(?:02[09]|22[348]|32[045]|523|6(?:27|54))|666(?:22|53)|7(?:22[57-9]|42[56]|82[35])8|8(?:0[124-9]|2(?:181|2[02-4679]8)|4[12]|[5-7]2)|9(?:[04]2|2(?:2|328)|81))\\d{4}|(?:2(?:[23]\\d|[45])\\d\\d|3(?:1(?:2[5-7]|[5-7])|425|822)|4(?:033|1\\d|[257]1|332|4(?:2[246]|5[25])|6(?:2[35]|56|62)|8(?:23|54)|92[2-5])|5(?:02[03489]|22[457]|32[35-79]|42[46]|6(?:[18]|53)|724|826)|6(?:023|2(?:2[2-5]|5[3-5]|8)|32[3478]|42[34]|52[47]|6(?:[18]|6(?:2[34]|5[24]))|[78]2[2-5]|92[2-6])|7(?:02|21\\d|[3-589]1|6[12]|72[24])|8(?:217|3[12]|[5-7]1)|9[24]1)\\d{5}|(?:(?:3[2-8]|5[2-57-9]|6[03-589])1|4[4689][18])\\d{5}|[59]1\\d{5}', example_number='27111234', possible_length=(6, 7, 8, 9, 10)), mobile=PhoneNumberDesc(national_number_pattern='(?:1[13-9]\\d|644)\\d{7}|(?:3[78]|44|66)[02-9]\\d{7}', example_number='1812345678', possible_length=(10,)), toll_free=PhoneNumberDesc(national_number_pattern='80[03]\\d{7}', example_number='8001234567', possible_length=(10,)), voip=PhoneNumberDesc(national_number_pattern='96(?:0[469]|1[0-47]|3[389]|43|6[69]|7[78])\\d{6}', example_number='9604123456', possible_length=(10,)), @@ -11,5 +11,5 @@ national_prefix_for_parsing='0', number_format=[NumberFormat(pattern='(\\d{2})(\\d{4,6})', format='\\1-\\2', leading_digits_pattern=['31[5-8]|[459]1'], national_prefix_formatting_rule='0\\1'), NumberFormat(pattern='(\\d{3})(\\d{3,7})', format='\\1-\\2', leading_digits_pattern=['3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]'], national_prefix_formatting_rule='0\\1'), - NumberFormat(pattern='(\\d{4})(\\d{3,6})', format='\\1-\\2', leading_digits_pattern=['[13-9]|22'], national_prefix_formatting_rule='0\\1'), + NumberFormat(pattern='(\\d{4})(\\d{3,6})', format='\\1-\\2', leading_digits_pattern=['[13-9]|2[23]'], national_prefix_formatting_rule='0\\1'), NumberFormat(pattern='(\\d)(\\d{7,8})', format='\\1-\\2', leading_digits_pattern=['2'], national_prefix_formatting_rule='0\\1')]) diff --git a/python/phonenumbers/data/region_BJ.py b/python/phonenumbers/data/region_BJ.py index 033aec70..cde802ba 100644 --- a/python/phonenumbers/data/region_BJ.py +++ b/python/phonenumbers/data/region_BJ.py @@ -3,8 +3,8 @@ PHONE_METADATA_BJ = PhoneMetadata(id='BJ', country_code=229, international_prefix='00', general_desc=PhoneNumberDesc(national_number_pattern='[24-689]\\d{7}', possible_length=(8,)), - fixed_line=PhoneNumberDesc(national_number_pattern='2(?:02|1[037]|2[45]|3[68]|4\\d)\\d{5}', example_number='20211234', possible_length=(8,)), - mobile=PhoneNumberDesc(national_number_pattern='(?:4[0-7]|[56]\\d|9[013-9])\\d{6}', example_number='90011234', possible_length=(8,)), + fixed_line=PhoneNumberDesc(national_number_pattern='2090\\d{4}|2(?:02|1[037]|2[45]|3[68]|4\\d)\\d{5}', example_number='20211234', possible_length=(8,)), + mobile=PhoneNumberDesc(national_number_pattern='(?:4[0-8]|[56]\\d|9[013-9])\\d{6}', example_number='90011234', possible_length=(8,)), voip=PhoneNumberDesc(national_number_pattern='857[58]\\d{4}', example_number='85751234', possible_length=(8,)), uan=PhoneNumberDesc(national_number_pattern='81\\d{6}', example_number='81123456', possible_length=(8,)), number_format=[NumberFormat(pattern='(\\d{2})(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['[24-689]'])]) diff --git a/python/phonenumbers/data/region_CM.py b/python/phonenumbers/data/region_CM.py index 9dda0a9d..dbd50f84 100644 --- a/python/phonenumbers/data/region_CM.py +++ b/python/phonenumbers/data/region_CM.py @@ -4,7 +4,7 @@ PHONE_METADATA_CM = PhoneMetadata(id='CM', country_code=237, international_prefix='00', general_desc=PhoneNumberDesc(national_number_pattern='[26]\\d{8}|88\\d{6,7}', possible_length=(8, 9)), fixed_line=PhoneNumberDesc(national_number_pattern='2(?:22|33)\\d{6}', example_number='222123456', possible_length=(9,)), - mobile=PhoneNumberDesc(national_number_pattern='(?:24[23]|6[25-9]\\d)\\d{6}', example_number='671234567', possible_length=(9,)), + mobile=PhoneNumberDesc(national_number_pattern='(?:24[23]|6(?:[25-9]\\d|40))\\d{6}', example_number='671234567', possible_length=(9,)), toll_free=PhoneNumberDesc(national_number_pattern='88\\d{6,7}', example_number='88012345', possible_length=(8, 9)), number_format=[NumberFormat(pattern='(\\d{2})(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['88']), NumberFormat(pattern='(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})', format='\\1 \\2 \\3 \\4 \\5', leading_digits_pattern=['[26]|88'])], diff --git a/python/phonenumbers/data/region_CN.py b/python/phonenumbers/data/region_CN.py index de5ecbd3..a26dc0d0 100644 --- a/python/phonenumbers/data/region_CN.py +++ b/python/phonenumbers/data/region_CN.py @@ -2,8 +2,8 @@ from ..phonemetadata import NumberFormat, PhoneNumberDesc, PhoneMetadata PHONE_METADATA_CN = PhoneMetadata(id='CN', country_code=86, international_prefix='00|1(?:[12]\\d|79)\\d\\d00', - general_desc=PhoneNumberDesc(national_number_pattern='1[127]\\d{8,9}|2\\d{9}(?:\\d{2})?|[12]\\d{6,7}|86\\d{6}|(?:1[03-689]\\d|6)\\d{7,9}|(?:[3-579]\\d|8[0-57-9])\\d{6,9}', possible_length=(7, 8, 9, 10, 11, 12), possible_length_local_only=(5, 6)), - fixed_line=PhoneNumberDesc(national_number_pattern='(?:10(?:[02-79]\\d\\d|[18](?:0[1-9]|[1-9]\\d))|21(?:[18](?:0[1-9]|[1-9]\\d)|[2-79]\\d\\d))\\d{5}|(?:43[35]|754)\\d{7,8}|8(?:078\\d{7}|51\\d{7,8})|(?:10|(?:2|85)1|43[35]|754)(?:100\\d\\d|95\\d{3,4})|(?:2[02-57-9]|3(?:11|7[179])|4(?:[15]1|3[12])|5(?:1\\d|2[37]|3[12]|51|7[13-79]|9[15])|7(?:[39]1|5[57]|6[09])|8(?:71|98))(?:[02-8]\\d{7}|1(?:0(?:0\\d\\d(?:\\d{3})?|[1-9]\\d{5})|[1-9]\\d{6})|9(?:[0-46-9]\\d{6}|5\\d{3}(?:\\d(?:\\d{2})?)?))|(?:3(?:1[02-9]|35|49|5\\d|7[02-68]|9[1-68])|4(?:1[02-9]|2[179]|3[46-9]|5[2-9]|6[47-9]|7\\d|8[23])|5(?:3[03-9]|4[36]|5[02-9]|6[1-46]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[17]\\d|2[248]|3[04-9]|4[3-6]|5[0-3689]|6[2368]|9[02-9])|8(?:1[236-8]|2[5-7]|3\\d|5[2-9]|7[02-9]|8[36-8]|9[1-7])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:[02-8]\\d{6}|1(?:0(?:0\\d\\d(?:\\d{2})?|[1-9]\\d{4})|[1-9]\\d{5})|9(?:[0-46-9]\\d{5}|5\\d{3,5}))', example_number='1012345678', possible_length=(7, 8, 9, 10, 11), possible_length_local_only=(5, 6)), + general_desc=PhoneNumberDesc(national_number_pattern='(?:(?:1[03-689]|2\\d)\\d\\d|6)\\d{8}|1\\d{10}|[126]\\d{6}(?:\\d(?:\\d{2})?)?|86\\d{5,6}|(?:[3-579]\\d|8[0-57-9])\\d{5,9}', possible_length=(7, 8, 9, 10, 11, 12), possible_length_local_only=(5, 6)), + fixed_line=PhoneNumberDesc(national_number_pattern='(?:10(?:[02-79]\\d\\d|[18](?:0[1-9]|[1-9]\\d))|2(?:[02-57-9]\\d{3}|1(?:[18](?:0[1-9]|[1-9]\\d)|[2-79]\\d\\d))|(?:41[03]|8078|9(?:78|94))\\d\\d)\\d{5}|(?:10|2[0-57-9])(?:1(?:00|23)\\d\\d|95\\d{3,4})|(?:41[03]|9(?:78|94))(?:100\\d\\d|95\\d{3,4})|8078123|(?:43[35]|754|851)\\d{7,8}|(?:43[35]|754|851)(?:1(?:00\\d|23)\\d|95\\d{3,4})|(?:3(?:11|7[179])|4(?:[15]1|3[12])|5(?:1\\d|2[37]|3[12]|51|7[13-79]|9[15])|7(?:[39]1|5[57]|6[09])|8(?:71|98))(?:[02-8]\\d{7}|1(?:0(?:0\\d\\d(?:\\d{3})?|[1-9]\\d{5})|[13-9]\\d{6}|2(?:[0-24-9]\\d{5}|3\\d(?:\\d{4})?))|9(?:[0-46-9]\\d{6}|5\\d{3}(?:\\d(?:\\d{2})?)?))|(?:3(?:1[02-9]|35|49|5\\d|7[02-68]|9[1-68])|4(?:1[24-9]|2[179]|3[46-9]|5[2-9]|6[47-9]|7\\d|8[23])|5(?:3[03-9]|4[36]|5[02-9]|6[1-46]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[17]\\d|2[248]|3[04-9]|4[3-6]|5[0-3689]|6[2368]|9[02-9])|8(?:1[236-8]|2[5-7]|3\\d|5[2-9]|7[02-9]|8[36-8]|9[1-7])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))(?:[02-8]\\d{6}|1(?:0(?:0\\d\\d(?:\\d{2})?|[1-9]\\d{4})|[13-9]\\d{5}|2(?:[0-24-9]\\d{4}|3\\d(?:\\d{3})?))|9(?:[0-46-9]\\d{5}|5\\d{3,5}))', example_number='1012345678', possible_length=(7, 8, 9, 10, 11), possible_length_local_only=(5, 6)), mobile=PhoneNumberDesc(national_number_pattern='1740[0-5]\\d{6}|1(?:[38]\\d|4[57]|[59][0-35-9]|6[25-7]|7[0-35-8])\\d{8}', example_number='13123456789', possible_length=(11,)), toll_free=PhoneNumberDesc(national_number_pattern='(?:(?:10|21)8|8)00\\d{7}', example_number='8001234567', possible_length=(10, 12)), premium_rate=PhoneNumberDesc(national_number_pattern='16[08]\\d{5}', example_number='16812345', possible_length=(8,)), @@ -13,9 +13,9 @@ national_prefix='0', national_prefix_for_parsing='(1(?:[12]\\d|79)\\d\\d)|0', number_format=[NumberFormat(pattern='(\\d{5,6})', format='\\1', leading_digits_pattern=['1(?:00|2[13])|9[56]', '1(?:00|2(?:1|39))|9[56]', '1(?:00|2(?:1|395))|9[56]']), - NumberFormat(pattern='(\\d{5,6})', format='\\1', leading_digits_pattern=['10']), - NumberFormat(pattern='(\\d{2})(\\d{5,6})', format='\\1 \\2', leading_digits_pattern=['(?:10|2[0-57-9])[19]', '(?:10|2[0-57-9])(?:10|9[56])', '10(?:10|9[56])|2[0-57-9](?:100|9[56])'], national_prefix_formatting_rule='0\\1', domestic_carrier_code_formatting_rule='$CC \\1'), - NumberFormat(pattern='(\\d{3})(\\d{4})', format='\\1 \\2', leading_digits_pattern=['[1-9]', '1[1-9]|26|[3-9]|(?:10|2[0-57-9])(?:[0-8]|9[0-47-9])', '1(?:0(?:[0-8]|9[0-47-9])|[1-9])|2(?:[0-57-9](?:[02-8]|1(?:0[1-9]|[1-9])|9[0-47-9])|6)|[3-9]']), + NumberFormat(pattern='(\\d{5,6})', format='\\1', leading_digits_pattern=['1(?:0|23)|781|[1-9]12', '1(?:0|23)|7812|[1-9]123', '1(?:0|23(?:[0-8]|9[0-46-9]))|78123|[1-9]123']), + NumberFormat(pattern='(\\d{2})(\\d{5,6})', format='\\1 \\2', leading_digits_pattern=['(?:10|2[0-57-9])[19]|3(?:[157]|35|49|9[1-68])|4(?:1[124-9]|2[179]|6[47-9]|7|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:07|1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3|4[13]|5[1-5]|7[0-79]|9[0-35-9])|(?:4[35]|59|85)[1-9]', '(?:10|2[0-57-9])(?:1[02]|9[56])|8078|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))1', '10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|80781|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))12', '10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|807812|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123', '10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123'], national_prefix_formatting_rule='0\\1', domestic_carrier_code_formatting_rule='$CC \\1'), + NumberFormat(pattern='(\\d{3})(\\d{4})', format='\\1 \\2', leading_digits_pattern=['[1-9]', '1[1-9]|26|[3-9]|(?:10|2[0-57-9])(?:[0-8]|9[0-47-9])', '1(?:0(?:[02-8]|1(?:[013-9]|2[0-24-9])|9[0-47-9])|[1-9])|2(?:[0-57-9](?:[02-8]|1(?:0[1-9]|[13-9]|2[0-24-9])|9[0-47-9])|6)|[3-9]', '1(?:0(?:[02-8]|1(?:[013-9]|2[0-24-9])|9[0-47-9])|[1-9])|2(?:[0-57-9](?:[02-8]|1(?:0[1-9]|[13-9]|2[0-24-9])|9[0-47-9])|6)|3(?:[0268]|3[0-46-9]|4[0-8]|9[079])|4(?:[049]|1[03]|2[02-68]|[35]0|6[0-356]|8[014-9])|5(?:0|2[0-24-689]|4[0-2457-9]|6[057-9]|8[1-9]|90)|6(?:[0-24578]|3[06-9]|6[14-79]|9[03-9])|7(?:0[02-9]|2[0135-79]|3[23]|4[0-27-9]|6[1457]|8)|8(?:[046]|1[01459]|2[0-489]|50|8[0-2459]|9[09])|9(?:0[0457]|1[08]|[268]|4[024-9]|5[06-9]|78|94)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))(?:[02-9]|1(?:[013-9]|2[0-24-9]))', '1(?:0(?:[02-8]|1(?:[013-9]|2[0-24-9])|9[0-47-9])|[1-9])|2(?:[0-57-9](?:[02-8]|1(?:0[1-9]|[13-9]|2[0-24-9])|9[0-47-9])|6)|3(?:[0268]|3[0-46-9]|4[0-8]|9[079])|4(?:[049]|1[03]|2[02-68]|[35]0|6[0-356]|8[014-9])|5(?:0|2[0-24-689]|4[0-2457-9]|6[057-9]|8[1-9]|90)|6(?:[0-24578]|3[06-9]|6[14-79]|9[03-9])|7(?:0[02-9]|2[0135-79]|3[23]|4[0-27-9]|6[1457]|8)|8(?:0(?:[0-689]|7[0-79])|1[01459]|2[0-489]|[46]|50|8[0-2459]|9[09])|9(?:0[0457]|1[08]|[268]|4[024-9]|5[06-9]|78|94)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))(?:[02-9]|1(?:[013-9]|2[0-24-9]))']), NumberFormat(pattern='(\\d{4})(\\d{4})', format='\\1 \\2', leading_digits_pattern=['16[08]']), NumberFormat(pattern='(\\d{3})(\\d{5,6})', format='\\1 \\2', leading_digits_pattern=['3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]', '(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]', '85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])', '85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])'], national_prefix_formatting_rule='0\\1', domestic_carrier_code_formatting_rule='$CC \\1'), NumberFormat(pattern='(\\d{4})(\\d{4})', format='\\1 \\2', leading_digits_pattern=['[1-9]', '1(?:0(?:[02-8]|1[1-9]|9[0-47-9])|[1-9])|2(?:[0-57-9](?:[0-8]|9[0-47-9])|6)|[3-9]', '1(?:0(?:[02-8]|1[1-9]|9[0-47-9])|[1-9])|26|3(?:[0268]|4[0-8]|9[079])|4(?:[049]|2[02-68]|[35]0|6[0-356]|8[014-9])|5(?:0|2[0-24-689]|4[0-2457-9]|6[057-9]|8[1-9]|90)|6(?:[0-24578]|3[06-9]|6[14-79]|9[03-9])|7(?:0[02-9]|2[0135-79]|3[23]|4[0-27-9]|6[1457]|8)|8(?:[046]|1[01459]|2[0-489]|5(?:0|[23][0-8])|8[0-2459]|9[09])|9(?:0[0457]|1[08]|[268]|4[024-9]|5[06-9])|(?:33|85[23]9)[0-46-9]|(?:2[0-57-9]|3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:[0-8]|9[0-47-9])', '1(?:0[02-8]|[1-9])|2(?:[0-57-9][0-8]|6)|3(?:[0268]|3[0-46-9]|4[0-8]|9[079])|4(?:[049]|2[02-68]|[35]0|6[0-356]|8[014-9])|5(?:0|2[0-24-689]|4[0-2457-9]|6[057-9]|90)|6(?:[0-24578]|3[06-9]|6[14-79]|9[03-9])|7(?:0[02-9]|2[0135-79]|3[23]|4[0-27-9]|6[1457]|8)|8(?:[046]|1[01459]|2[0-489]|5(?:0|[23](?:[02-8]|1[1-9]|9[0-46-9]))|8[0-2459]|9[09])|9(?:0[0457]|1[08]|[268]|4[024-9]|5[06-9])|(?:10|2[0-57-9])9[0-47-9]|(?:101|58|85[23]10)[1-9]|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:[02-8]|1(?:0[1-9]|[1-9])|9[0-47-9])']), @@ -27,7 +27,7 @@ NumberFormat(pattern='(\\d{3})(\\d{4})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['[3-578]'], national_prefix_formatting_rule='0\\1', national_prefix_optional_when_formatting=True, domestic_carrier_code_formatting_rule='$CC \\1'), NumberFormat(pattern='(\\d{3})(\\d{4})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['1[3-9]'], domestic_carrier_code_formatting_rule='$CC \\1'), NumberFormat(pattern='(\\d{2})(\\d{3})(\\d{3})(\\d{4})', format='\\1 \\2 \\3 \\4', leading_digits_pattern=['[12]'], national_prefix_formatting_rule='0\\1', national_prefix_optional_when_formatting=True)], - intl_number_format=[NumberFormat(pattern='(\\d{2})(\\d{5,6})', format='\\1 \\2', leading_digits_pattern=['(?:10|2[0-57-9])[19]', '(?:10|2[0-57-9])(?:10|9[56])', '10(?:10|9[56])|2[0-57-9](?:100|9[56])']), + intl_number_format=[NumberFormat(pattern='(\\d{2})(\\d{5,6})', format='\\1 \\2', leading_digits_pattern=['(?:10|2[0-57-9])[19]|3(?:[157]|35|49|9[1-68])|4(?:1[124-9]|2[179]|6[47-9]|7|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:07|1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3|4[13]|5[1-5]|7[0-79]|9[0-35-9])|(?:4[35]|59|85)[1-9]', '(?:10|2[0-57-9])(?:1[02]|9[56])|8078|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))1', '10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|80781|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))12', '10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|807812|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123', '10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123']), NumberFormat(pattern='(\\d{3})(\\d{5,6})', format='\\1 \\2', leading_digits_pattern=['3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]', '(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]', '85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])', '85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])']), NumberFormat(pattern='(\\d{3})(\\d{3})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['(?:4|80)0']), NumberFormat(pattern='(\\d{2})(\\d{4})(\\d{4})', format='\\1 \\2 \\3', leading_digits_pattern=['10|2(?:[02-57-9]|1[1-9])', '10|2(?:[02-57-9]|1[1-9])', '10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])']), diff --git a/python/phonenumbers/data/region_DE.py b/python/phonenumbers/data/region_DE.py index 8c4d35dc..9f3d0bc6 100644 --- a/python/phonenumbers/data/region_DE.py +++ b/python/phonenumbers/data/region_DE.py @@ -4,7 +4,7 @@ PHONE_METADATA_DE = PhoneMetadata(id='DE', country_code=49, international_prefix='00', general_desc=PhoneNumberDesc(national_number_pattern='[2579]\\d{5,14}|49(?:[34]0|69|8\\d)\\d\\d?|49(?:37|49|60|7[089]|9\\d)\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\d{1,8}|(?:1|[368]\\d|4[0-8])\\d{3,13}|49(?:[015]\\d|2[13]|31|[46][1-8])\\d{1,9}', possible_length=(4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), possible_length_local_only=(2, 3)), fixed_line=PhoneNumberDesc(national_number_pattern='32\\d{9,11}|49[1-6]\\d{10}|322\\d{6}|49[0-7]\\d{3,9}|(?:[34]0|[68]9)\\d{3,13}|(?:2(?:0[1-689]|[1-3569]\\d|4[0-8]|7[1-7]|8[0-7])|3(?:[3569]\\d|4[0-79]|7[1-7]|8[1-8])|4(?:1[02-9]|[2-48]\\d|5[0-6]|6[0-8]|7[0-79])|5(?:0[2-8]|[124-6]\\d|[38][0-8]|[79][0-7])|6(?:0[02-9]|[1-358]\\d|[47][0-8]|6[1-9])|7(?:0[2-8]|1[1-9]|[27][0-7]|3\\d|[4-6][0-8]|8[0-5]|9[013-7])|8(?:0[2-9]|1[0-79]|2\\d|3[0-46-9]|4[0-6]|5[013-9]|6[1-8]|7[0-8]|8[0-24-6])|9(?:0[6-9]|[1-4]\\d|[589][0-7]|6[0-8]|7[0-467]))\\d{3,12}', example_number='30123456', possible_length=(5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), possible_length_local_only=(2, 3, 4)), - mobile=PhoneNumberDesc(national_number_pattern='15(?:[0-25-9]\\d\\d|310)\\d{6}|1(?:6[023]|7\\d)\\d{7,8}', example_number='15123456789', possible_length=(10, 11)), + mobile=PhoneNumberDesc(national_number_pattern='15310\\d{6}|1(?:6[023]|7[0-57-9])\\d{7,8}|1(?:5[0-25-9]|76)\\d{8}', example_number='15123456789', possible_length=(10, 11)), toll_free=PhoneNumberDesc(national_number_pattern='800\\d{7,12}', example_number='8001234567890', possible_length=(10, 11, 12, 13, 14, 15)), premium_rate=PhoneNumberDesc(national_number_pattern='(?:137[7-9]|900(?:[135]|9\\d))\\d{6}', example_number='9001234567', possible_length=(10, 11)), shared_cost=PhoneNumberDesc(national_number_pattern='180\\d{5,11}|13(?:7[1-6]\\d\\d|8)\\d{4}', example_number='18012345', possible_length=(7, 8, 9, 10, 11, 12, 13, 14)), diff --git a/python/phonenumbers/data/region_DZ.py b/python/phonenumbers/data/region_DZ.py index b78f6501..fbb06402 100644 --- a/python/phonenumbers/data/region_DZ.py +++ b/python/phonenumbers/data/region_DZ.py @@ -4,7 +4,7 @@ PHONE_METADATA_DZ = PhoneMetadata(id='DZ', country_code=213, international_prefix='00', general_desc=PhoneNumberDesc(national_number_pattern='(?:[1-4]|[5-79]\\d|80)\\d{7}', possible_length=(8, 9)), fixed_line=PhoneNumberDesc(national_number_pattern='9619\\d{5}|(?:1\\d|2[013-79]|3[0-8]|4[013-689])\\d{6}', example_number='12345678', possible_length=(8, 9)), - mobile=PhoneNumberDesc(national_number_pattern='(?:5(?:4[0-29]|5\\d|6[0-2])|6(?:[569]\\d|7[0-6])|7[7-9]\\d)\\d{6}', example_number='551234567', possible_length=(9,)), + mobile=PhoneNumberDesc(national_number_pattern='(?:5(?:4[0-29]|5\\d|6[0-3])|6(?:[569]\\d|7[0-6])|7[7-9]\\d)\\d{6}', example_number='551234567', possible_length=(9,)), toll_free=PhoneNumberDesc(national_number_pattern='800\\d{6}', example_number='800123456', possible_length=(9,)), premium_rate=PhoneNumberDesc(national_number_pattern='80[3-689]1\\d{5}', example_number='808123456', possible_length=(9,)), shared_cost=PhoneNumberDesc(national_number_pattern='80[12]1\\d{5}', example_number='801123456', possible_length=(9,)), diff --git a/python/phonenumbers/data/region_EG.py b/python/phonenumbers/data/region_EG.py index 2c3f039c..198e609c 100644 --- a/python/phonenumbers/data/region_EG.py +++ b/python/phonenumbers/data/region_EG.py @@ -3,7 +3,7 @@ PHONE_METADATA_EG = PhoneMetadata(id='EG', country_code=20, international_prefix='00', general_desc=PhoneNumberDesc(national_number_pattern='[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}', possible_length=(8, 9, 10), possible_length_local_only=(6, 7)), - fixed_line=PhoneNumberDesc(national_number_pattern='13[23]\\d{6}|(?:15|57)\\d{6,7}|(?:2[2-4]|3|4[05-8]|5[05]|6[24-689]|8[2468]|9[235-7])\\d{7}', example_number='234567890', possible_length=(8, 9), possible_length_local_only=(6, 7)), + fixed_line=PhoneNumberDesc(national_number_pattern='13[23]\\d{6}|(?:15|57)\\d{6,7}|(?:2\\d|3|4[05-8]|5[05]|6[24-689]|8[2468]|9[235-7])\\d{7}', example_number='234567890', possible_length=(8, 9), possible_length_local_only=(6, 7)), mobile=PhoneNumberDesc(national_number_pattern='1[0-25]\\d{8}', example_number='1001234567', possible_length=(10,)), toll_free=PhoneNumberDesc(national_number_pattern='800\\d{7}', example_number='8001234567', possible_length=(10,)), premium_rate=PhoneNumberDesc(national_number_pattern='900\\d{7}', example_number='9001234567', possible_length=(10,)), diff --git a/python/phonenumbers/data/region_FR.py b/python/phonenumbers/data/region_FR.py index a71f9fc4..5581e279 100644 --- a/python/phonenumbers/data/region_FR.py +++ b/python/phonenumbers/data/region_FR.py @@ -7,7 +7,7 @@ mobile=PhoneNumberDesc(national_number_pattern='(?:6(?:[0-24-8]\\d|3[0-8]|9[589])|7[3-9]\\d)\\d{6}', example_number='612345678', possible_length=(9,)), toll_free=PhoneNumberDesc(national_number_pattern='80[0-5]\\d{6}', example_number='801234567', possible_length=(9,)), premium_rate=PhoneNumberDesc(national_number_pattern='836(?:0[0-36-9]|[1-9]\\d)\\d{4}|8(?:1[2-9]|2[2-47-9]|3[0-57-9]|[569]\\d|8[0-35-9])\\d{6}', example_number='891123456', possible_length=(9,)), - shared_cost=PhoneNumberDesc(national_number_pattern='8(?:1[01]|2[0156]|4[02]|84)\\d{6}', example_number='884012345', possible_length=(9,)), + shared_cost=PhoneNumberDesc(national_number_pattern='8(?:1[01]|2[0156]|4[024]|84)\\d{6}', example_number='884012345', possible_length=(9,)), voip=PhoneNumberDesc(national_number_pattern='9\\d{8}', example_number='912345678', possible_length=(9,)), uan=PhoneNumberDesc(national_number_pattern='80[6-9]\\d{6}', example_number='806123456', possible_length=(9,)), national_prefix='0', diff --git a/python/phonenumbers/data/region_HK.py b/python/phonenumbers/data/region_HK.py index b7e78d5d..9f524d6c 100644 --- a/python/phonenumbers/data/region_HK.py +++ b/python/phonenumbers/data/region_HK.py @@ -3,8 +3,8 @@ PHONE_METADATA_HK = PhoneMetadata(id='HK', country_code=852, international_prefix='00(?:30|5[09]|[126-9]?)', general_desc=PhoneNumberDesc(national_number_pattern='8[0-46-9]\\d{6,7}|9\\d{4,7}|(?:[2-7]|9\\d{3})\\d{7}', possible_length=(5, 6, 7, 8, 9, 11)), - fixed_line=PhoneNumberDesc(national_number_pattern='(?:2(?:[13-9]\\d|2[013-9])\\d|3(?:(?:[1569][0-24-9]|4[0-246-9]|7[0-24-69])\\d|8(?:4[0-8]|[59]\\d|6[0-2]))|58(?:0[1-9]|1[2-9]))\\d{4}', example_number='21234567', possible_length=(8,)), - mobile=PhoneNumberDesc(national_number_pattern='(?:4(?:44[0-25-9]|6(?:1[0-7]|4[0-57-9]|6[0-4]))|5(?:73[0-6]|95[0-8])|6(?:26[013-8]|66[0-3])|70(?:7[1-8]|8[0-4])|848[0-35-9]|9(?:29[013-9]|39[01]|59[0-4]|899))\\d{4}|(?:4(?:4[0-35-8]|6[02357-9]|70)|5(?:[1-59][0-46-9]|6[0-4689]|7[0-246-9])|6(?:0[1-9]|[13-59]\\d|[268][0-57-9]|7[0-79])|70[1-39]|84[0-29]|9(?:0[1-9]|1[02-9]|[2358][0-8]|[467]\\d))\\d{5}', example_number='51234567', possible_length=(8,)), + fixed_line=PhoneNumberDesc(national_number_pattern='(?:2(?:[13-9]\\d|2[013-9])\\d|3(?:(?:[1569][0-24-9]|4[0-246-9]|7[0-24-69])\\d|8(?:4[0-8]|[579]\\d|6[0-2]))|58(?:0[1-9]|1[2-9]))\\d{4}', example_number='21234567', possible_length=(8,)), + mobile=PhoneNumberDesc(national_number_pattern='(?:4(?:44[0-25-9]|6(?:1[0-7]|4[0-57-9]|6[0-4]))|5(?:73[0-6]|95[0-8])|6(?:26[013-8]|66[0-3])|70(?:7[1-8]|8[0-4])|848[0-35-9]|9(?:29[013-9]|39[01]|59[0-4]|899))\\d{4}|(?:4(?:4[0-35-9]|6[02357-9]|70)|5(?:[1-59][0-46-9]|6[0-4689]|7[0-246-9])|6(?:0[1-9]|[13-59]\\d|[268][0-57-9]|7[0-79])|70[1-39]|84[0-39]|9(?:0[1-9]|1[02-9]|[2358][0-8]|[467]\\d))\\d{5}', example_number='51234567', possible_length=(8,)), toll_free=PhoneNumberDesc(national_number_pattern='800\\d{6}', example_number='800123456', possible_length=(9,)), premium_rate=PhoneNumberDesc(national_number_pattern='900(?:[0-24-9]\\d{7}|3\\d{1,4})', example_number='90012345678', possible_length=(5, 6, 7, 8, 11)), personal_number=PhoneNumberDesc(national_number_pattern='8(?:1[0-4679]\\d|2(?:[0-36]\\d|7[0-4])|3(?:[034]\\d|2[09]|70))\\d{4}', example_number='81123456', possible_length=(8,)), diff --git a/python/phonenumbers/data/region_IL.py b/python/phonenumbers/data/region_IL.py index 9d407302..f869b0fd 100644 --- a/python/phonenumbers/data/region_IL.py +++ b/python/phonenumbers/data/region_IL.py @@ -8,7 +8,7 @@ toll_free=PhoneNumberDesc(national_number_pattern='1(?:255|80[019]\\d{3})\\d{3}', example_number='1800123456', possible_length=(7, 10)), premium_rate=PhoneNumberDesc(national_number_pattern='1212\\d{4}|1(?:200|9(?:0[0-2]|19))\\d{6}', example_number='1919123456', possible_length=(8, 10)), shared_cost=PhoneNumberDesc(national_number_pattern='1700\\d{6}', example_number='1700123456', possible_length=(10,)), - voip=PhoneNumberDesc(national_number_pattern='7(?:38(?:0\\d|5[0-259]|88)|8(?:33|55|77|81)\\d)\\d{4}|7(?:18|2[23]|3[237]|47|6[258]|7\\d|82|9[2-9])\\d{6}', example_number='771234567', possible_length=(9,)), + voip=PhoneNumberDesc(national_number_pattern='7(?:38(?:0\\d|5[0-2569]|88)|8(?:33|55|77|81)\\d)\\d{4}|7(?:18|2[23]|3[237]|47|6[258]|7\\d|82|9[2-9])\\d{6}', example_number='771234567', possible_length=(9,)), uan=PhoneNumberDesc(national_number_pattern='1599\\d{6}', example_number='1599123456', possible_length=(10,)), voicemail=PhoneNumberDesc(national_number_pattern='151\\d{8,9}', example_number='15112340000', possible_length=(11, 12)), no_international_dialling=PhoneNumberDesc(national_number_pattern='1700\\d{6}', possible_length=(10,)), diff --git a/python/phonenumbers/data/region_ZA.py b/python/phonenumbers/data/region_ZA.py index 011e91ad..a143f783 100644 --- a/python/phonenumbers/data/region_ZA.py +++ b/python/phonenumbers/data/region_ZA.py @@ -4,7 +4,7 @@ PHONE_METADATA_ZA = PhoneMetadata(id='ZA', country_code=27, international_prefix='00', general_desc=PhoneNumberDesc(national_number_pattern='[1-79]\\d{8}|8\\d{4,9}', possible_length=(5, 6, 7, 8, 9, 10)), fixed_line=PhoneNumberDesc(national_number_pattern='(?:2(?:0330|4302)|52087)0\\d{3}|(?:1[0-8]|2[1-378]|3[1-69]|4\\d|5[1346-8])\\d{7}', example_number='101234567', possible_length=(9,)), - mobile=PhoneNumberDesc(national_number_pattern='(?:1(?:3492[0-25]|4495[0235]|549(?:20|5[01]))|4[34]492[01])\\d{3}|8[1-4]\\d{3,7}|(?:2[27]|47|54)4950\\d{3}|(?:1(?:049[2-4]|9[12]\\d\\d)|(?:6\\d|7[0-46-9])\\d{3}|8(?:5\\d{3}|7(?:08[67]|158|28[5-9]|310)))\\d{4}|(?:1[6-8]|28|3[2-69]|4[025689]|5[36-8])4920\\d{3}|(?:12|[2-5]1)492\\d{4}', example_number='711234567', possible_length=(5, 6, 7, 8, 9)), + mobile=PhoneNumberDesc(national_number_pattern='(?:1(?:3492[0-25]|4495[0235]|549(?:20|5[01]))|4[34]492[01])\\d{3}|8[1-4]\\d{3,7}|(?:2[27]|47|54)4950\\d{3}|(?:1(?:049[2-4]|9[12]\\d\\d)|(?:6\\d\\d|7(?:[0-46-9]\\d|5[0-4]))\\d\\d|8(?:5\\d{3}|7(?:08[67]|158|28[5-9]|310)))\\d{4}|(?:1[6-8]|28|3[2-69]|4[025689]|5[36-8])4920\\d{3}|(?:12|[2-5]1)492\\d{4}', example_number='711234567', possible_length=(5, 6, 7, 8, 9)), toll_free=PhoneNumberDesc(national_number_pattern='80\\d{7}', example_number='801234567', possible_length=(9,)), premium_rate=PhoneNumberDesc(national_number_pattern='(?:86[2-9]|9[0-2]\\d)\\d{6}', example_number='862345678', possible_length=(9,)), shared_cost=PhoneNumberDesc(national_number_pattern='860\\d{6}', example_number='860123456', possible_length=(9,)),