Bom, estou usando o rubular.com para criar umas expressões regular para tentar criar uma regex que preencha o que é pedido nesse enunciado:
> O método deve utilizar expressões regulares para validar se o formato do parâmetro recebido é um preço em Real ou Dólar.
> Preços em Real:
> devem começar com R$.
> podem ter um único espaço entre o símbolo da moeda e o valor.
> devem ter duas casas decimais.
> devem utilizar . como separador de milhar.
> devem utilizar , como separador decimal.
> Preços em Dólar:
> devem começar com U$.
> podem ter um único espaço entre o símbolo da moeda e o valor.
> devem ter duas casas decimais.
> devem utilizar , como separador de milhar.
> devem utilizar . como separador decimal.
estou criando algo do tipo:
^(R|U)$(\s)?\d{1,3}(,|.)\d{3}*(,|.)\d{2}$
para esses possíveis valores (no teste tem mais, com mais casas de centenas)
R$ 1.982,03 (true)
R$ 123,78 (true)
R$1.982,03 (true)
R$ 1.938.093,33 (true)
U$ 298,927,831,092.93 (true)
U$ 3.039 (true)
R$ 1,938.093,33 (false)
U$ 298,927,831,092.93 (true)
a minha dificuldade é encontrar um método de dar match em um valor com muitas casas decimais, alguém poderia me ajudar?