1^0 ноль 21 один 32 два 43 три 54 четыре 65 пять 76 шесть 87 семь 98 восемь 109 девять 1110 десять 1211 одиннадцать 1312 двенадцать 1413 тринадцать 1514 четырнадцать 1615 пятнадцать 1716 шестнадцать 1817 семнадцать 1918 восемнадцать 2019 девятнадцать 21([23])(\d) $1|дцать[ $2] 224(\d) сорок[ $1] 239(\d) девяносто[ $1] 24(\d)(\d) $1десят[ $2] 251(\d\d) сто[ $1] 262(\d\d) двести[ $1] 27([34])(\d\d) $1ста[ $2] 28(\d)(\d\d) $1сот[ $2] 29(1|\d?[02-9]1)(\d{3}) $(f:$1) тысяча[ $2] 30([234]|\d?[02-9][234])(\d{3}) $(f:$1) тысячи[ $2] 31(\d{1,3})(\d{3}) $1 тысяч[ $2] 32(1|\d?[02-9]1)(\d{6}) $1 миллион[ $2] 33([234]|\d?[02-9][234])(\d{6}) $1 миллиона[ $2] 34(\d{1,3})(\d{6}) $1 миллионов[ $2] 35(1|\d?[02-9]1)(\d{9}) $1 миллиард[ $2] 36([234]|\d?[02-9][234])(\d{9}) $1 миллиарда[ $2] 37(\d{1,3})(\d{9}) $1 миллиардов[ $2] 38(1|\d?[02-9]1)(\d{12}) $1 триллион[ $2] 39([234]|\d?[02-9][234])(\d{12}) $1 триллиона[ $2] 40(\d{1,3})(\d{12}) $1 триллионов[ $2] 41(1|\d?[02-9]1)(\d{15}) $1 квадриллион[ $2] 42([234]|\d?[02-9][234])(\d{15}) $1 квадриллиона[ $2] 43(\d{1,3})(\d{15}) $1 квадриллионов[ $2] 44(1|\d?[02-9]1)(\d{18}) $1 квинтиллион[ $2] 45([234]|\d?[02-9][234])(\d{18}) $1 квинтиллиона[ $2] 46(\d{1,3})(\d{18}) $1 квинтиллионов[ $2] 47(1|\d?[02-9]1)(\d{21}) $1 секстилион[ $2] 48([234]|\d?[02-9][234])(\d{21}) $1 секстилиона[ $2] 49(\d{1,3})(\d{21}) $1 секстилионов[ $2] 50(1|\d?[02-9]1)(\d{24}) $1 септиллион[ $2] 51([234]|\d?[02-9][234])(\d{24}) $1 септиллиона[ $2] 52(\d{1,3})(\d{24}) $1 септиллионов[ $2] 53 54# negative numbers 55 56[-−]1 минус единица 57[-−](\d+) минус |$1 58 59# decimals 60 61"([-−]?)[.,](\d+)" $(\10.\2) 62"[-−]1[.,]" минус одна целая 63"([-−]?\d+[02-9]1|1)[.,]" $(f:|$1) целая 64"([-−]?\d+)[.,]" $(f:|$1) целых 65"([-−]?\d+[.,])1" $1| и одна десятая 66"([-−]?\d+[.,])(\d)" $1| и $(f:|$2) десятых 67"([-−]?\d+[.,])([02-9]1)" $1| и $(f:|$2) сотая 68"([-−]?\d+[.,])(\d\d)" $1| и $(f:|$2) сотых 69"([-−]?\d+[.,])(\d[02-9]1)" $1| и $(f:|$2) тысячная 70"([-−]?\d+[.,])(\d{3})" $1| и $(f:|$2) тысячных 71"([-−]?\d+[.,])(\d)(\d)(\d)(\d)" $1| |$2 |$3 |$4 |$5 72"([-−]?\d+[.,]\d*)(\d)" $1| |$2 73 74 75# female conversion 76f:(.*)один \1одна 77f:(.*)два \1две 78f:(.*) \1 79 80# neuter conversion 81n:(.*)один \1одно 82n:(.*) \1 83 84# possessive (1-999) - used in ordinals 85"pos:(.* )?од(ин|на) ?" [$(pos:\1)]одно 86"pos:(.* )?дв[ае] ?" [$(pos:\1)]двух 87"pos:(.* )?три ?" [$(pos:\1)]трёх 88"pos:(.* )?четыре ?" [$(pos:\1)]четырёх 89"pos:(.* )?восемь ?" [$(pos:\1)]восьми 90"pos:(.* )?([а-я]+)ь ?" [$(pos:\1)]\2и 91"pos:(.* )?сорок ?" [$(pos:\1)]сорока 92"pos:(.* )?восемьдесят ?" [$(pos:\1)]восьмидесяти 93"pos:(.* )?([а-я]+)ьдесят ?" [$(pos:\1)]\2идесяти 94"pos:(.* )?([а-я]*)сто ?" [$(pos:\1)]\2сто 95"pos:(.*)двести ?" \1двухсот 96"pos:(.*)[еи]ста ?" \1ёхсот 97"pos:(.*)осемьсот ?" \1осьмисот 98"pos:(.*)ьсот ?" \1исот 99pos:(.*) \1 100 101# currency 102 103# unit/subunit 104 105us:([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*) \1 106up:([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*) \2 107ug:([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*) \3 108ss:([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*) \4 109sp:([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*) \5 110sg:([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*) \6 111 112EUR:(\D+) $(\1: евро, евро, евро, цент, цента, центов) 113GBP:(\D+) $(\1: фунт стерлингов, фунта стерлингов, фунтов стерлингов, пенни, пенса, пенсов) 114RUB:(\D+) $(\1: рубль, рубля, рублей, копейка, копейки, копеек) 115UAH:(\D+) $(\1: гривна, гривны, гривен, копейка, копейки, копеек) 116USD:(\D+) $(\1: доллар США, доллара США, долларов США, цент, цента, центов) 117 118"(UAH) ([-−]?1)([.,]00?)?" $(f:$2)|$(\1:us) 119"(UAH) ([-−]?\d*[02-9]1)([.,]00?)?" $(f:$2)|$(\1:us) 120"(UAH) ([-−]?[234])([.,]00?)?" $(f:$2)|$(\1:up) 121"(UAH) ([-−]?\d*[02-9][234])([.,]00?)?" $(f:$2)|$(\1:up) 122"(UAH) ([-−]?\d+)([.,]00?)?" $(f:$2)|$(\1:ug) 123 124"([A-Z]{3}) ([-−]?1)([.,]00?)?" $2|$(\1:us) 125"([A-Z]{3}) ([-−]?\d*[02-9]1)([.,]00?)?" $2|$(\1:us) 126"([A-Z]{3}) ([-−]?[234])([.,]00?)?" $2|$(\1:up) 127"([A-Z]{3}) ([-−]?\d*[02-9][234])([.,]00?)?" $2|$(\1:up) 128"([A-Z]{3}) ([-−]?\d+)([.,]00?)?" $2|$(\1:ug) 129 130"((RUB) [-−]?\d+)[.,]([02-9])1" $1 [$(\30) ]одна$(\2:ss) 131"((RUB) [-−]?\d+)[.,]([02-9])2" $1 [$(\30) ]две$(\2:sp) 132"((UAH) [-−]?\d+)[.,]([02-9])1" $1 [$(\30) ]одна$(\2:ss) 133"((UAH) [-−]?\d+)[.,]([02-9])2" $1 [$(\30) ]две$(\2:sp) 134"(([A-Z]{3}) [-−]?\d+)[.,](01)" $1 |$(1)$(\2:ss) 135"((EUR|GBP|USD) [-−]?\d+)[.,]([02-9]2)" $1 $3|$(\2:sp) 136"(([A-Z]{3}) [-−]?\d+)[.,]([02-9][234])" $1 |$3$(\2:sp) 137"(([A-Z]{3}) [-−]?\d+)[.,](\d)" $1 |$(\30)$(\2:sg) 138"(([A-Z]{3}) [-−]?\d+)[.,](\d\d)" $1 |$3$(\2:sg) 139 140== cardinal-masculine? == 141 142(.*) $(\1) 143 144== cardinal-feminine == 145 146(.*) $(f:$1) 147 148== cardinal-neuter == 149 150(.*) $(n:$1) 151 152== ordinal-feminine == 153 1540 нулевая 155([-−]?\d+) $(ordinal-feminine |$1) 156 157(.*)один \1первая 158(.*)два \1вторая 159(.*)три \1третья 160(.*)ыре \1вёртая 161(.*)осемь \1осьмая 162(.*)мь \1дьмая 163(.*)ь \1ая 164(.*)к \1ковая 165(.*)осемьдесят \1осьмидесятая 166(.*)ьдесят \1идесятая 167(.*)осто \1остая 168(.*)сто \1сотая 169(.*)вести \1вухсотая 170(.*)[еи]ста \1ёхсотая 171(.*)осемьсот \1осьмисотая 172(.*)ьсот \1исотая 173"одна тысяча" тысячная 174"(.* )тысяч[аи]?" $(pos:\1)тысячная 175"один (\w+илли\w+)" \1ная 176"(.* )([а-я]+илли[а-я]+)(а|ов)" $(pos:\1)\2ная 177"(.* )([а-я]+илли[а-я]+)" $(pos:\1)\2ная 178(.*) \1ая 179 180== ordinal-neuter == 181 1820 нулевое 183([-−]?\d+) $(ordinal-neuter |$1) 184 185(.*)один \1первое 186(.*)два \1второе 187(.*)три \1третье 188(.*)ыре \1вёртое 189(.*)осемь \1осьмое 190(.*)мь \1дьмое 191(.*)ь \1ое 192(.*)к \1ковое 193(.*)осемьдесят \1осьмидесятое 194(.*)ьдесят \1идесятое 195(.*)осто \1остое 196(.*)сто \1сотое 197(.*)вести \1вухсотое 198(.*)[еи]ста \1ёхсотое 199(.*)осемьсот \1осьмисотое 200(.*)ьсот \1исотое 201"одна тысяча" тысячное 202"(.* )тысяч[аи]?" $(pos:\1)тысячное 203"один ([а-я]+илли[а-я]+)" \1ное 204"(.* )([а-я]+илли[а-я]+)(а|ов)" $(pos:\1)\2ное 205"(.* )([а-я]+илли[а-я]+)" $(pos:\1)\2ное 206(.*) \1ое 207 208== ordinal(-masculine)? == 209 2100 нулевой 211([-−]?\d+) $(ordinal |$2) 212 213(.*)один \2первый 214(.*)два \2второй 215(.*)три \2третий 216(.*)ыре \2вёртый 217(.*)сть \2стой 218(.*)осемь \2осьмой 219(.*)мь \2дьмой 220(.*)ь \2ый 221(.*)к \2ковой 222(.*)осемьдесят \2осьмидесятый 223(.*)ьдесят \2идесятый 224(.*)осто \2остый 225(.*)сто \2сотый 226(.*)вести \2вухсотый 227(.*)[еи]ста \2ёхсотый 228(.*)осемьсот \2осьмисотый 229(.*)ьсот \2исотый 230"одна тысяча" тысячный 231"(.* )тысяч[аи]?" $(pos:\2)тысячный 232"один ([а-я]+илли[а-я]+)" \2ный 233"(.* )([а-я]+илли[а-я]+)(а|ов)" $(pos:\2)\3ный 234"(.* )([а-я]+илли[а-я]+)" $(pos:\2)\3ный 235(.*) \2ый 236 237== ordinal-number-feminine == 238 239(\d+) \1-я 240 241== ordinal-number-neuter == 242 243(\d+) \1-е 244 245== ordinal-number(-masculine)? == 246 247(\d+) \2-й 248 249== help == 250 251"" |$(1)|, |$(2)|, |$(3)|\n$(help cardinal-feminine)$(help cardinal-masculine)$(help cardinal-neuter)$(help ordinal-feminine)$(help ordinal-masculine)$(help ordinal-neuter)$(help ordinal-number-feminine)$(help ordinal-number-masculine)$(help ordinal-number-neuter) 252(.*) \1: |$(\1 1)|, |$(\1 2)|, |$(\1 3)|\n 253