我想在以下
中仅捕获136.50
$136.50 (was $195.00)
我正在尝试使用负面的后观,以便在价格之前没有分组价格。这就是我所拥有的:
(?<!\$.+)\$(?<price>[\d.,]+)
我做错了什么?
编辑:我认为问题可能是我不能在一个环视中使用可变长度的字符串,但我不确定如何在没有它的情况下构造正则表达式。 编辑:有时候只有一个价格,在这种情况下我想把这个价格分组。这就是为什么我没有使用积极的前瞻来确认价格是第一个价格。答案 0 :(得分:3)
不要使用负面后卫,只需取第一个价格(在第一组中,如果有分数则可能是第二组)。这样的事可能吗?
/^.*?\$([\d,]+)(\.\d\d)?/
答案 1 :(得分:0)
这应该匹配所有价格,包括。成千上万的koma,就像来自owlstead的这个
/^.*?\$(\d{1,3}(?:,\d{3})*(?:\.\d+)?).*$/
答案 2 :(得分:0)
你可以使用这样的东西
/(\$\d*.\d*)(?!.\1)/
这将匹配第一组,而不是相同的组