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