Имя: Пароль:
IT
Веб-мастеринг
Кто силен в регулярках? Есть вопрос.
0 Мэс33
 
19.07.17
22:53
Други, поясните плиз.

Какой алгоритм работы этих двух регулярок (JS regex):
анкет(|а|ы) - не находит нужное
анкет(а|ы|) - находит нужное

Нужно выделить слово "анкеты|анкета|анкет" из текста:
слово анкет слово
слово анкета слово
слово анкеты слово

Че-то туплю в 01:53 ночи ))).
1 Мэс33
 
19.07.17
23:01
Можно написать и по-другому регулярку, знаю - как, интересует именно вопрос - ПОЧЕМУ?
2 Garykom
 
гуру
19.07.17
23:19
"\b([Аа]нкет[а|ы]*)\b"

Но не сработает если "\b" в реализации не понимает кириллицу
3 Работа Имитаторов
 
19.07.17
23:24
(а|ы)?
За жадность группы не скажу (:
4 Работа Имитаторов
 
19.07.17
23:41
(1) > вопрос - ПОЧЕМУ?
/анкет(|а|ы)/
1st Capturing Group (|а|ы)
1st Alternative — null, matches any position
2nd Alternative а
а matches the character а literally (case sensitive)
3rd Alternative ы
ы matches the character ы literally (case sensitive)

/анкет(а|ы|)/
1st Capturing Group (а|ы|)
1st Alternative а
а matches the character а literally (case sensitive)
2nd Alternative ы
ы matches the character ы literally (case sensitive)
3rd Alternative — null, matches any position

Во втором случае под "matches any position" у тебя попадает конец строки. В первом случае буква "т" из в "matches any position" не попадает, так как ее захватывает точное требование "анкет"

Как-то так
5 Fragster
 
гуру
19.07.17
23:47
Правильно так: Анкет(а|ы)?
6 Работа Имитаторов
 
19.07.17
23:50
(5) "Танкета" је гусеничарско борбено возило, које подсећа на мали тенк. Сличне је величине као аутомобил, а предвиђена је за извиђање и подршку јединицама лаке пешадије.
(:
7 Garykom
 
гуру
20.07.17
00:00
(5) "танкеты" или "анкетка"