Не будучи regex экспертом, но нахождением интересной проблемы, я озирался и нашел это интересное запись в блоге . Особенно синтаксис, используемый там для определения 2D regex, выглядит привлекательным. Бумага, связанная там, могла бы сказать Вам больше, чем я.
Обновление из комментария: Вот ссылка на страницу основного автора, где можно скачать связанную статью "Двумерные языки" : http://www.mat.uniroma2.it/~giammarr/Research/pubbl.html
Я сразу могу придумать два варианта:
Существуют библиотеки с открытым исходным кодом, которые вы можете использовать для этого. Ознакомьтесь с OpenCVDotNet , управляемой оболочкой .NET для OpenCV , библиотеки "компьютерного зрения". Вот ссылка на учебное пособие , которое может вам пригодиться.