0

我想找到一个正则表达式来检查给定的字符串是否是一个矩阵。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]]" 这样的字符串与正则表达式匹配,但它不是矩阵......

有什么帮助吗?

4

1 回答 1

0

正如我的一位教授告诉我的那样,这是无法做到的,因为它不是一种正则语言,所以它不能用正则表达式来描述......

于 2012-06-28T23:57:47.067 回答