正则表达式帮助(雅虎管道)

时间:2013-07-21 19:10:27

标签: regex yahoo-pipes

我有以下字符串:

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

我想获得2472,38(最终2472.38

我一直在试用regexpal,发现[\d,.]+似乎有效,但是由于yahoo管道的正则表达式模块的工作方式(替换...用...,我必须首先选择所有的字符串

所以我在想

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

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

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

1 个答案:

答案 0 :(得分:1)

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