如何才能使正则表达式正确?

时间:2009-09-30 12:41:42

标签: c# regex

如何只编写一个表达式来表示以下情况? 这些矩阵块都具有相似的结构,内部存在不同的线条,并且一直在变化。

    Matrix "mat-31" SPRING 3 1 {
        0.000000 43.039398 0.000001 -0.000000
    }

    Matrix "mat-48" SPRING 3 2 {
        0.000000 1.000000 1.000000 1.000000
        3.495787 19.341287 0.234091 -23487819       
    }

    Matrix "mat-25" SPRING 3 4 {
        0.000000 12.855400 -0.000001 -10.844367
        3.234897 6.123478 23.239048 -13.787821
        6.234897 8.123721 23.239048 -18.342451
        1.234897 6.123478 23.239048 -19.453821

    }
    Matrix "mat-12" SPRING 3 3 {
        0.000000 1.000000 1.000000 1.000000
        7.232397 7.123478 8.239048 -1.453821
        3.889897 2.166474 -16.2443048 -9.453821
    }

提前致谢。

3 个答案:

答案 0 :(得分:2)

Matrix\s+"[^"]*"\s+SPRING\s+\d+\s+\d+\s+{[^}]*}

答案 1 :(得分:2)

Matrix\s+"[^"]+"\s+SPRING\s+\d\s+\d\s+\{(\s+-?\d+(\.\d+)?)+\s+}

答案 2 :(得分:1)

这样的模式应该适用于匹配矩阵:

Matrix "(.*?)" SPRING (\d+) (\d+) \{(?:(\s+-?\d+\.\d+){4})+\s+\}