Regex Perl para correspondência de moeda

Regex Perl para correspondência de moeda

Estou tentando verificar o formato de uma string $price

A string começará com um símbolo de moeda. (Como são tantos, vou pular isso, então mostre abaixo como?)

Portanto, os formatos CORRETOS são "?12,34" ou "?2,34" ou "?2,34" Incorreto seria "1234"/"234"

Então, antes de tudo, verifico a correspondência negativa de um decimal, usando uma pesquisa global (agora o regex divertido). Estou tentando verificar o NEGATIVO (ou seja, NÃO está em conformidade com) um ou dois dígitos de 0 a 9, um decimal seguido por dois dígitos 0-9. Eu criei o seguinte padrão teórico (não testado). Como é meu primeiro regex complexo, acertei?

if ($price eq ''){
say'';
say 'You did not enter any price. Try again';
say'';
}
elsif ($price !~ /\./g ){
say'';
say 'Please include a decimal point';
say'';
}
elsif ($price !~ /[0-9]{1,2}\.[0-9]{2}$/){
say'';
say 'Please check the format of price (XX.XX)';
say'';

informação relacionada