在Java中使用正则表达式验证价格

4

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

"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 $250.00 - Event Price $129.00”是有效还是无效的? - adarshr
1个回答

2

使用:

MSRP\s\$([0-9]+)\.([0-9]+).*?\$([0-9]+)\.([0-9]+)

请注意需要转义符号$.,其中点号代表任意字符。但我会这样写:
MSRP\s+\$([\d\.]+).*?Event\sPrice\s+\$([\d\.]+)

今日免费次数已满, 请开通会员/明日再来

也许这有点过度具体了,但我会写成 ^MSRP\s+\$([\d]+\.[0-9]{2}).*?Event\sPrice\s+\$([\d]+\.[0-9]{2})$ - Mark M
那么您应该在正则表达式中添加, - Xeon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接