用于划分国家呼叫代码的正则表达式

时间:2010-04-07 12:00:42

标签: regex

我有一个所有国家/地区的电话代码列表(电话号码前缀),我想将它们拆分为 国家名称和实际代码,以便我可以将其放入xml。

我已经来回试过但是无法获得考虑所有情况的正则表达式。 我认为对于有一点经验的人来说这很简单。

代码具有以下格式:

  

阿富汗93
  安圭拉1 264
  南极洲6721
  安提瓜和巴布达1 268
  波斯尼亚和黑塞哥维那387
  加拿大1
  刚果共和国242
  科特迪瓦225
  爱尔兰(爱尔兰)353
  美利坚合众国1

总共有大约235个,但这些是常客和例外。

^[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 

所以,如果我把它表达为一个句子,它将是:“从一行的开头,取所有字符(1),包括空格,'()直到遇到数字,然后取所有这些包括空格(2)直到你遇到换行符。“

我正在使用TextMate,文档说:

  

TextMate使用Oniguruma常规   表达库由K. Kosako撰写。

我很感激任何帮助:) 谢谢。

1 个答案:

答案 0 :(得分:2)

posix regex应该足够了:^[a-zA-Z ]+[0-9 ]+$