Я хочу найти регулярное выражение, чтобы проверить, является ли заданная строка матрицей. Матрица в библиотеке Giac определяется как
[[1,2,3],[4,5,6],[7,8,9]]
Начинается с "[", заканчивается "]" и каждая строка (вектор) разделяется знаком "," Векторы определяются аналогичным образом: [1,2,3] Таким образом, матрица подобна вектору векторов.
Я создал регулярное выражение
NSString *pattern = @"\\[(\\[-?([0123456789]+(\\.[0123456789]+)?,)+-?[0123456789]+(\\.[0123456789]+)?])+,\\[-?([0123456789]+(\\.[0123456789]+)?,)+-?[0123456789]+(\\.[0123456789]+)?]]";
но я не могу найти, как проверить, что каждый вектор (строка) имеет одинаковое количество элементов...
Например, строка вида "[[1,2],[3,4,5],[6,7,8,9,0]]" соответствует регулярному выражению, но не является матрицей...
Любая помощь?