【发布时间】:2014-03-12 15:22:53
【问题描述】:
我正在寻找正则表达式来验证和解析众所周知的文本,这是一种用于传输空间数据的格式,如下所示:
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 使用正则表达式:
\d+(?:\.\d*)?
从其他地方我也看到了
\d*\.\d+|\d+
和
(\d*\.)?\d+
这些似乎都做同样的事情,但这让我想知道这 3 个正则表达式的相对工作原理,以及是否有任何性能问题或需要注意的细微之处。
明确地说,我知道有用于解析各种语言的 WKT 的库。我的问题纯粹是关于数字提取正则表达式的相对行为。
【问题讨论】:
-
你已经知道正则表达式了吗?也就是说,您对帖子中每个正则表达式的不同部分有基本的了解?
-
是的,我理解匹配组和非匹配组的概念,各种量词的含义等,但我觉得我缺少更深层次的东西。