2012-01-18 60 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