我正在寻找正则表达式来验证和解析众所周知的文本,这是一种用于传输空间数据的格式,如下所示:
POLYGON((51.124 -3.973, 51.1 -3.012, ....))
或者
MULTIPOLYGON(((POLYGON((51.124 -3.973, 51.1 -3.012, ....)),POLYGON((50.14 -13.973, 51.1 -13.012, ....))
在其他变体中。
这里有一个很好的答案:Parsing a WKT-file which uses the regex:
\d+(?:\.\d*)?
从其他地方我也看到
\d*\.\d+|\d+
和
(\d*\.)?\d+
这些似乎都做同样的事情,但它让我想知道这 3 个正则表达式的相对工作原理,以及是否有任何性能问题或引擎盖下的微妙之处需要注意。
需要明确的是,我知道有用于解析各种语言的 WKT 的库。我的问题纯粹是关于数字提取正则表达式的相对行为。