У меня есть строка, описывающая матрицу элементов nxm, подобных этой:
§inputmap = " ~~~~~~~~~~~~~~~~~~~~B~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~BBB........BBB~~~~~~~~~~~~~ ~~~~~~~~~~BB...............FBB~~~~~~~~~~ ~~~~~~~~BB....................BB~~~~~~~~ ~~~~~~BB.....F..................BB~~~~~~ ~~~~~BB.....................F.....B~~~~~ ~~~~B..............................B~~~~ ~~~B........F.......................B~~~ ~~BB.........F......................BB~~ ~~B................F.................BB~ ~BF....F....F........................FB~ ~B.....................................B B.....................................FB B........F......F......................B B...........................F..........B B......................................B B......................................B B.......F.......................F......B B......FFF.............................B B.......F.............................FB ~B..................F.................FB ~BF...........................F.......B~ ~~B...F...........F..........FFFFF.F.BB~ ~~BB..................F..F....F.....BB~~ ~~~B.......................FF.FF....B~~~ ~~~~B..............................B~~~~ ~~~~~BB...........................B~~~~~ ~~~~~~BB........................BB~~~~~~ ~~~~~~~~BB..........F..........B~~~~~~~~ ~~~~~~~~~~BB................BB~~~~~~~~~~ ~~~~~~~~~~~~~BBB.......F.BBB~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~BBBBBB~~~~~~~~~~~~~~~~~ "; $inputmap = trim($inputmap);
Мне нужно создать регулярное выражение (или что-то еще) для поиска строки:
$search = " *F* FFF *F* "; $search = trim($search);
на всей сетке. В других руках мне нужно найти паттерн из 5 различных букв «F» (3 по вертикали и 3 по горизонтали), чтобы вернуть позицию строк / столбцов паттерна, найденных на карте.
Учитывая, что входная матрица может быть разной (5×5 или 10×10 или 20×25 или …), есть ли способ решить мою проблему с php и регулярными выражениями?