Mathematica has excellent ways to manipulate Sequences. But it has no such methods for dealing with arrays
a = RandomInteger[10, {4, 4}];
 
ReplaceList[a, {___, {e___, x_, y_, ___}, {e1___, x1_, 
     y1_, ___}, ___} /; Length[{e}] == Length[{e1}] -> 
  MatrixForm[{{x, y}, {x1, y1}}]]
Can we simply have a function like this 
 
MatrixCases[Matrix, {{_, _}, {_, _}}]
General rule. that give us the same result or extract all patterns from the array.