开发者

Regular expression for dividing country calling codes

I have a list of calling codes for all countries(the phone number prefixes), I would like to split them up in the country name and the actual code so I can put then into an xml.

I have tried back and forth but can not get a regexp going that takes all cases into account. I think it is fairly simple for someone with a bit of experience.

The codes have these formats:

Afghanistan 93

Anguilla 1 264

Antarctica 6721

Antigua and Barbuda 1 268

Bosnia and Herzegovina 387

Canada 1

Congo, Republic of the 242

Cote d'Ivoire 225

Ireland (Eire) 353

United States of America 1

There are around 235 of them in total, but these are the regulars and the exceptions.

^[a-zA-Z]\s,'()] for between 1 and X words and then it is [0-9\s]{1,5}$ for the numbers:

X
XX
XXX
XXXX
X XXX 

So if I should express it as a sentence it would be: "from beginning of a line, take all characters (1) including space,'() until you encounter digits, then take all of these including space(2) until you encounter a line break."

I am using TextMate, and the docs says:

Te开发者_开发技巧xtMate uses the Oniguruma regular expression library by K. Kosako.

I would appreciate any help given:) Thank you.


This posix regex should be sufficient: ^[a-zA-Z ]+[0-9 ]+$

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜