Но... Я вообще не понял как это работает. Т.е. я вижу, что это работает, но вообще не понимаю КАК.
Каким образом данный код (ниже) понял, что "\1" - это именно [X0]? Я ведь даже его скобками не выделял. Почему не "." или "\n"?
alert("0X0\nX0*\n***".match(/(?<=(\1).{2}\n.{1}[X0].{1}\n.{2})\*/gi))