2012-01-18 33 views
1

我试图做一个正则表达式,将匹配字符串:所以几乎有人能告诉我正则表达式会匹配吗?

asf, Algeria, Wilaya d' El Tarf, 

:(字与字符){,} {}空间,重复3次(无多,不会少)。

我尝试这样做:

^([\w ']+[,]?){3}$ 

但我似乎无法得到“无多,不会少部分”(这只是比赛用言语什么,用逗号和空格隔开,像“ASF,阿尔及利亚”)。

我对Regex很新奇,所以对于我的noobness很抱歉。

谢谢。

回答

3

你必须做出逗号强制性:

^([\w ']+,){3}$ 

否则"asf, Algeria"可以分成正好是三匹配的组,像这样:

  1. "asf,"
  2. " Algeri"
  3. "a"

让逗号强制关闭该漏洞。

+0

Ohhhhh。我知道我用逗号做错了什么。谢谢! – Nacht 2012-01-18 15:27:37

+0

也许最好使用^([^,] +,*){3} $,取决于允许的字符。 – Snifff 2012-01-18 15:34:19