Modulo:Formatnum retrocompatibile: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
fix regex
+segni meno
Riga 10:
-- Caso semplice, un numero nel formato corretto
return p._formatnum( str );
elseif mw.ustring.match( str, "^%-?[%d.,]+,[%d.,]+$" ) then
-- Numero con virgole, lasciamo inalterato
return str .. '[[Categoria:Modulo formatnum usato con virgole]]';
elseif mw.ustring.match( str, "^%-?%d+ [%d. ]+$" ) then
-- Numero con spazi, li interpretiamo come separatori delle migliaia
return p._formatnum( mw.ustring.gsub( str, " ", "" ) ) .. '[[Categoria:Modulo formatnum usato con spazi]]';
elseif mw.ustring.match( str, "^%-?[%d.]+ *[-–] *%-?[%d.]+$" ) or mw.ustring.match( str, "^[dD]a %-?[%d.]+ a %-?[%d.]+$" ) then
-- Intervallo numerico, formattiamo solo i numeri escludendo ileventuali trattino see presentesegni meno
return ( mw.ustring.gsub( str, "[%d.]+", p._formatnum ) ) .. '[[Categoria:Modulo formatnum usato con intervallo]]';
elseif mw.ustring.match( str, "^%a+%.? %-?[%d.]+$" ) then
-- Parola seguita dal numero (ad es. "circa 123"), formattiamo il numero
return ( mw.ustring.gsub( str, "%-?[%d.]+", p._formatnum ) ) .. '[[Categoria:Modulo formatnum usato con testo prima del numero]]';
elseif mw.ustring.match( str, "^%a+ %-?[%d.]+ *[-–] *[%d.]+$" ) then
-- Parola seguita da intervallo, formattiamo i numeri escludendo il trattino
return ( mw.ustring.gsub( str, "[%d.]+", p._formatnum ) ) .. '[[Categoria:Modulo formatnum usato con testo e intervallo]]';
elseif mw.ustring.match( str, "^%-?[%d.]+ *\127'\"`UNIQ%w*%-+ref%-%w*%-QINU`\"'\127$" ) then
-- Numero seguito da nota, possiamo applicare il formatnum perché ignora le note
return p._formatnum( str );