Показать сообщение отдельно
  #1 (permalink)  
Старый 26.10.2020, 17:25
Кандидат Javascript-наук
Отправить личное сообщение для jaroslav.tavgen Посмотреть профиль Найти все сообщения от jaroslav.tavgen
 
Регистрация: 18.09.2014
Сообщений: 128

Помогите с регулярным выражением в "крестиках-ноликах"
Прошу прощения: в соседнем сообщении неправильный заголовок, поэтому продублировал.

Пытаюсь поиграть в крестики-нолики с помощью регулярных выражений.

Есть такое поле: "0X0\nX0*\n***". Если его напечатать видно, что нолики готовятся выиграть по диагонали.

Я хочу найти поле (последняя звёздочка), которое идёт после двух крестиков, которые идут по диагонали. С помощью регулярного выражения.

Вот такое - работает:
alert("0X0\nX0*\n***".match(/(?<=0.{2}\n.{1}0.{1}\n.{2})\*/gi))

А такое - нет:
alert("0X0\nX0*\n***".match(/(?<=([X0]).{2}\n.{1}\1.{1}\n.{2})\*/gi))


Два вопроса:

1. Почему так?
2. Как сделать так, чтобы второе выражение сработало?
Ответить с цитированием