在java正则表达式中验证价格

在java正则表达式中验证价格,java,regex,Java,Regex,我正在尝试验证价格范围格式。以下是字符串的顺序: "MSRP $250.00 - Event Price $129.00" 我试着这样做: String t=price1.replace("$","T"); t= t.replace(" ", ""); MSRPT([0-9]+).([0-9]+)-EventPriceT([0-9]+).([0-9]+) 但它并没有被匹配 谢谢使用: MSRP\s\$([0-9]+)\.([0-9]+).*?\$([0-9]+)\.([0-9]+) 请注意

我正在尝试验证价格范围格式。以下是字符串的顺序:

"MSRP $250.00 - Event Price $129.00"
我试着这样做:

String t=price1.replace("$","T");
t= t.replace(" ", "");
MSRPT([0-9]+).([0-9]+)-EventPriceT([0-9]+).([0-9]+)
但它并没有被匹配

谢谢

使用:

MSRP\s\$([0-9]+)\.([0-9]+).*?\$([0-9]+)\.([0-9]+)
请注意,您需要转义
$
-点是“任意”字符

但我会写:

MSRP\s+\$([\d\.]+).*?Event\sPrice\s+\$([\d\.]+)

您将有1美元和2美元的价格值字符串,根据您的说法,字符串
“MSRP$250.00-事件价格$129.00”
是有效还是无效?这可能是过度指定了,但我会在regexp中写入
^MSRP\s+\$([\d]+\.[0-9]{2})。*?事件\sPrice\s+\$([\d]+\.[0-9]{2})$
,然后您应该在regexp中添加