我想验证一个Excel公式的风格,具有以下的正则表达式:验证和分组Excel公式格式
=SUM\(((?:\w+\d+)(?::\w+\d+)?)((?:,\w+\d+)(?::\w+\d+)?)*\)
在这个来源:
应该通过
=SUM(A1,A11:A212,A12:A56,A342:A12,A3)
=SUM(A11:A12,A12:a12,A34:A3)
=SUM(A1,A2,A3)
=SUM(A1)
应失败
=SUM(A11:A212:A2,A12:A56,A4,A342:A12)
我有验证部分工作,但我无法弄清楚如何将每个逗号分组值。他们应该是:
我多么希望他们进行分组:
=SUM(A1,A11:A12,A12:A56,A3) // Groups: $1 = A1 $2 = A11:A12 $3 = A12:A56 $4 = A3
=SUM(A11:A12,A10:A12,A34:A3) // Groups: $1 = A11:A12 $2 = A10:A12 $3 = A34:A3
=SUM(A1,A2,A3) //Groups: $1 = A1 $2 = A2 $3 = A3
=SUM(A1) //Groups: $1 = A1
如何,他们目前正在分组:
=SUM(A1,A11:A12,A12:A56,A3) // Groups: $1 = A1 $2 = A3
=SUM(A11:A12,A10:A12,A34:A3) // Groups: $1 = A11:A12 $2 = A34:A3
=SUM(A1,A2,A3) //Groups: $1 = A1 $2 = A3
=SUM(A1) //Groups: $1 = A1
通知,其分组的第一个和最后。我对REGEX很新,所以如果我在这里做了一件很糟糕的事情,请指出我的方向。谢谢!