const regex = /(\+\d{1,4}( \d{1,4}){0,2})/gs;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('(\\+\\d{1,4}( \\d{1,4}){0,2})', 'gs')
const str = `Åland Islands
+358 18
Afghanistan
+93
Albania
+355
Algeria
+213
American Samoa
+1 684
Andorra
+376
Angola
+244
Anguilla
+1 264
Antigua and Barbuda
+1 268
Argentina
+54
Armenia
+374
Aruba
+297
Ascension Island
+247
Australia
+61
Australian Antarctic Territory
+672 1
Austria
+43
Azerbaijan
+994
Bahamas
+1 242
Bahrain
+973
Bangladesh
+880
Barbados
+1 246
Belarus
+375
Belgium
+32
Belize
+501
Benin
+229
Bermuda
+1 441
Bhutan
+975
Bolivia
+591
Bosnia and Herzegovina
+387
Botswana
+267
Bouvet Island
+47
Brazil
+55
British Indian Ocean Territory
+246
British Virgin Islands
+1 284
Brunei
+673
Bulgaria
+359
Burkina Faso
+226
Burundi
+257
Cambodia
+855
Cameroon
+237
Canada
+1
Cape Verde
+238
Caribbean Netherlands
+599
Cayman Islands
+1 345
Central African Republic
+236
Chad
+235
Chile
+56
China
+86
Christmas Island
+61 89164
Cocos (Keeling) Islands
+61 89162
Colombia
+57
Comoros
+269
Cook Islands
+682
Costa Rica
+506
Croatia
+385
Cuba
+53
Curaçao
+599 9
Cyprus
+357
Czech Republic
+420
Democratic Republic of the Congo
+243
Denmark
+45
Djibouti
+253
Dominica
+1 767
Dominican Republic
+1 809
+1 829
+1 849
East Timor
+670
Ecuador
+593
Egypt
+20
El Salvador
+503
Equatorial Guinea
+240
Eritrea
+291
Estonia
+372
Eswatini
+268
Ethiopia
+251
Falkland Islands(Malvinas)
+500
Faroe Islands
+298
Fiji
+679
Finland
+358
France
+33
French Guiana
+594
French Polynesia
+689
French Southern and Antarctic Lands
+262
Gabon
+241
Gambia
+220
Georgia
+995
Germany
+49
Ghana
+233
Gibraltar
+350
Greece
+30
Greenland
+299
Grenada
+1 473
Guadeloupe
+590
Guam
+1 671
Guatemala
+502
Guernsey
+44 1481
+44 7781
+44 7839
+44 7911
Guinea
+224
Guinea-Bissau
+245
Guyana
+592
Haiti
+509
Heard Island and McDonald Islands
+1 672
Honduras
+504
Hong Kong
+852
Hungary
+36
Iceland
+354
India
+91
Indonesia
+62
Iran
+98
Iraq
+964
Ireland
+353
Isle of Man
+44 1624
+44 7524
+44 7624
+44 7924
Israel
+972
Italy
+39
Ivory Coast
+225
Jamaica
+1 876
Japan
+81
Jersey
+44 1534
Jordan
+962
Kazakhstan
+7 6
+7 7
Kenya
+254
Kiribati
+686
Kosovo
+383
Kuwait
+965
Kyrgyzstan
+996
Laos
+856
Latvia
+371
Lebanon
+961
Lesotho
+266
Liberia
+231
Libya
+218
Liechtenstein
+423
Lithuania
+370
Luxembourg
+352
Macao
+853
Madagascar
+261
Malawi
+265
Malaysia
+60
Maldives
+960
Mali
+223
Malta
+356
Marshall Islands
+692
Martinique
+596
Mauritania
+222
Mauritius
+230
Mayotte
+262 269
+262 639
Mexico
+52
Micronesia
+691
Moldova
+373
Monaco
+377
Mongolia
+976
Montenegro
+382
Montserrat
+1 664
Morocco
+212
Mozambique
+258
Myanmar
+95
Namibia
+264
Nauru
+674
Nepal
+977
Netherlands
+31
Netherlands Antilles
+599
New Caledonia
+687
New Zealand
+64
Nicaragua
+505
Niger
+227
Nigeria
+234
Niue
+683
Norfolk Island
+672 3
North Korea
+850
North Macedonia
+389
Northern Ireland
+44 28
Northern Mariana Islands
+1 670
Norway
+47
Oman
+968
Pakistan
+92
Palau
+680
Palestine
+970
Panama
+507
Papua New Guinea
+675
Paraguay
+595
Peru
+51
Philippines
+63
Pitcairn
+64
Poland
+48
Portugal
+351
Puerto Rico
+1 787
+1 939
Qatar
+974
Réunion
+262
Republic of the Congo
+242
Romania
+40
Russia
+7
Rwanda
+250
Saint Barthélemy
+590
Saint Helena
+290
Saint Kitts and Nevis
+1 869
Saint Lucia
+1 758
Saint Martin(French part)
+590
Saint Pierre and Miquelon
+508
Saint Vincent and the Grenadines
+1 784
Samoa
+685
San Marino
+378
Sao Tome and Principe
+239
Saudi Arabia
+966
Senegal
+221
Serbia
+381
Seychelles
+248
Sierra Leone
+232
Singapore
+65
Slovakia
+421
Slovenia
+386
Solomon Islands
+677
Somalia
+252
South Africa
+27
South Georgia and the South Sandwich Islands
+500
South Korea
+82
South Sudan
+211
Spain
+34
Sri Lanka
+94
Sudan
+249
Suriname
+597
Svalbard and Jan Mayen
+47 79
Sweden
+46
Switzerland
+41
Syria
+963
Taiwan
+886
Tajikistan
+992
Tanzania
+255
Thailand
+66
Togo
+228
Tokelau
+690
Tonga
+676
Trinidad and Tobago
+1 868
Tunisia
+216
Turkey
+90
Turkmenistan
+993
Turks and Caicos Islands
+1 649
Tuvalu
+688
Uganda
+256
Ukraine
+380
United Arab Emirates
+971
United Kingdom
+44
United States
+1
United States Minor Outlying Islands
+246
Uruguay
+598
Uzbekistan
+998
Vanuatu
+678
Vatican City
+379
Venezuela
+58
Vietnam
+84
Virgin Islands, U.S.
+1 340
Wallis and Futuna
+681
Western Sahara
+212
Yemen
+967
Zambia
+260
Zimbabwe
+263`;
// Reset `lastIndex` if this regex is defined globally
// regex.lastIndex = 0;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions