正则表达式匹配的字符串形式的矩阵

问题描述 投票:0回答:2

我试图矩阵匹配出来的字符串(例如)sin([[1,2][3,4]])的,但我不能为我的生活找不出一个工作正则表达式。我已经试过之类的东西\[[0-9\.,\[\]]*\]但都没有奏效。我在Java中工作(在Android)。

任何人都可以帮助我吗?这是犯了一个大git的承诺预防的最后一件事。

更多细节:矩阵将是任何尺寸,像[[1,2,3,4][5,6,7,8][9,10,1,12]]。我希望有一个正则表达式,将推出全矩阵(不单独部件,因为它会通过之类的功能,运营商等数字矩阵中的将是整数或双包围。科学记数法也是可能的。十六进制/其他基地都没有。

分辨率:\[.+\]是不工作的原因是因为Java的String.matches没有工作,我认为它确实的方式,因为我用它与另一个正则表达式组合(即工作的罚款本身)。显然?|意味着正则表达式的东西。

java android regex
2个回答
0
投票
\[(\d+\.?\d*),(\d+\.?\d*)\]

Edit live on Debuggex

像这样的事情?我有点困惑你正在尝试做的。此代码提取值出像[digit,digit]一组,并将它们放入两个捕获组。它也处理小数:)。


0
投票

我用下面的正则表达式来验证串匹配矢量(逗号分隔方括号中的数字)或矩阵(逗号分隔方括号内载体)。处理正数和负数,小数和偶数指数记数法表示。

/(\[+([-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?,?)+[\]\,]+)+/g

上述正则表达式可以匹配:

  • 的载体:[0.04260090287650773,0.3618834344248428]
  • 一种矩阵:[[1.00,4.00,6.10],[0.04,0.36,7.0],[5.0,0.67,0.33]]

我用于验证JSON格式数据从web服务来,以确保提供的值被正确地格式化为载体或载体(基质)的列表。

它的工作原理,形成了我,我希望任何人有用。

© www.soinside.com 2019 - 2024. All rights reserved.