2012-05-18 2 views
4

Я пытаюсь проверить формат ценового диапазона. Ниже приводится последовательность строки:Подтверждение цены в 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]+) 

Но это не соответствует.

Благодаря

+0

По вашему мнению, является ли строка '' MSRP $ 250.00 - Event Price $ 129.00 "действительной или недействительной? – adarshr

ответ

2

Использование:

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

Обратите внимание, что вам нужно бежать $ и . - точка является "любой" характер

, но я бы написать:

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

И у вас будет $ 1 и $ 2 Strings of price val ue

+0

Спасибо Xeon. Он работал – user1075958

+0

Возможно, это переопределяет, но я бы написал '^ MSRP \ s + \ $ ([\ d] + \. [0-9] {2}). *? Событие \ sPrice \ s + \ $ ([\ d] + \. [0-9] {2}) $ ' –

+0

Спасибо. Но если формат цены равен 1,387.00. – user1075958

Смежные вопросы