【发布时间】:2015-05-29 08:01:08
【问题描述】:
对于以下行,我需要一个正则表达式来获取双引号之外的值,即:0.0 和100.5。
"VAL_ 344 PedalPos 0.0 \"% (0.0 ... 100.0)\" 100.5 \"Invalid - Undefined (100.5 ... 127.5)\";"
使用这条规则Regex.Match(line, "\"\\s[0-9]+\\s\""),我得到一个组,这是第一个值:0.0。我不知道如何扩展搜索以包含以下所有值。
考虑到这部分[0-9],我认为这仅适用于整数值,我在那里添加了一个点[0-9.],这包括整个双数。这是正确的方法吗?
【问题讨论】:
-
看来你也想解压
344吧? -
@stribizhev,不..那个值是一个 ID。它不应该被添加。
-
ID 的标准是什么?总是在
VAL_之后?请澄清。 -
\s?\d+(\.\d{1,2}) 这应该可以工作,在这里测试...regexpal.com
-
在您的情况下,以下正则表达式将起作用:
([\d\.]+)\s+\\"字符转义后:([\\d\\.]+)\\s+\\\\"您将获得两个捕获的组,您可以通过索引访问它们。我在regexr.com 上查过了