Пытаюсь поиграть в крестики-нолики с помощью регулярных выражений.
Есть такое поле: "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. Как сделать так, чтобы второе выражение сработало?