1

我有以下字符串:

 <span class="pos">$2.472,38</span>

我想2472,38(最终2472.38

我一直在尝试正则表达式,发现这[\d,.]+似乎可行,但是由于雅虎管道的正则表达式模块的工作方式(将...替换为...,我必须首先选择所有字符串

所以我在想

replace .+([\d,.]+).+ with $1

但这只是给我一个结果8(最后一个数字)。所以我想我定义捕获组的方式不对。任何线索?提前致谢

你可以在这里找到管道http://pipes.yahoo.com/pipes/pipe.info?_id=06780ca250e5b107b7c1ef52455996ff

4

1 回答 1

1

您的第一个子表达式.+是“贪婪的”(即尝试匹配所有可能的内容,同时仍然允许整个表达式成功),因此它匹配所有内容直到最后一个数字。您需要根据您对可以在数字前面的内容的了解,以某种方式在数字开始之前“停止”。如果您知道数字之前有一个美元符号并且span元素中没有美元/数字组合,您可以简单地在\$之后添加一个.+,如.+\$([\d,.]+).+

于 2013-07-21T19:16:45.790 回答