Может кто-нибудь сказать мне, что Regex будет соответствовать этому? - PullRequest
1 голос
/ 18 января 2012

Я пытаюсь создать регулярное выражение, соответствующее этой строке:

asf, Algeria, Wilaya d' El Tarf,

Очень много: (слово с символами) {,} {пробел} и повторите 3 раза (не больше, не меньше).

Я пробовал это:

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

Но я не могу получить «не больше, не меньше» (это просто сопоставляет что-либо со словами, разделенными запятыми и пробелами, как «asf, Алжир»).

Я очень новичок в Regex, так что извините за мою нелюбовь.

Спасибо.

1 Ответ

3 голосов
/ 18 января 2012

Вы должны сделать запятую обязательной:

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

В противном случае "asf, Algeria" можно разбить ровно на три подходящие группы, например:

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

Обязательное заполнение запятой закрывает эту лазейку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...