145 lines
3.5 KiB
Java
145 lines
3.5 KiB
Java
^0 noll
|
||
^1$ ett
|
||
^1 en
|
||
1 ett
|
||
2 två
|
||
3 tre
|
||
4 fyra
|
||
5 fem
|
||
6 sex
|
||
7 sju
|
||
8 åtta
|
||
9 nio
|
||
10 tio
|
||
11 elva
|
||
12 tolv
|
||
13 tretton
|
||
14 fjorton
|
||
15 femton
|
||
16 sexton
|
||
17 sjutton
|
||
18 arton
|
||
19 nitton
|
||
2(\d) tjugo$1
|
||
3(\d) trettio$1
|
||
4(\d) fyrtio$1
|
||
7(\d) sjuttio$1
|
||
8(\d) åttio$1
|
||
9(\d) nittio$1
|
||
(\d)(\d) $1tio$2
|
||
(\d)(\d\d) $1|hundra$2
|
||
|
||
# “ettusen” instead of “etttusen”
|
||
|
||
(1|\d?[02-9]1)(\d{3}) $1|usen[ $2]
|
||
|
||
(\d{1,3})(\d{3}) $1tusen[ $2]
|
||
(\d{1,3})(\d{6}) |$1 miljon$(pl:\1)[ $2]
|
||
(\d{1,3})(\d{9}) |$1 miljard$(pl:\1)[ $2]
|
||
(\d{1,3})(\d{12}) |$1 biljon$(pl:\1)[ $2]
|
||
(\d{1,3})(\d{15}) |$1 biljard$(pl:\1)[ $2]
|
||
(\d{1,3})(\d{18}) |$1 triljon$(pl:\1)[ $2]
|
||
(\d{1,3})(\d{21}) |$1 triljard$(pl:\1)[ $2]
|
||
(\d{1,3})(\d{24}) |$1 kvadriljon$(pl:\1)[ $2]
|
||
|
||
# plural for big numbers
|
||
pl:1
|
||
pl:.* er
|
||
|
||
# negative number
|
||
|
||
[-−](\d+) minus |$1
|
||
|
||
# decimals
|
||
|
||
"([-−]?\d+)[.,]" $1| komma
|
||
"([-−]?\d+[.,])([^0]\d)" $1| |$2
|
||
"([-−]?\d+[.,])(\d)(\d)(\d)" $1| |$2 |$3 |$4
|
||
"([-−]?\d+[.,]\d*)(\d)" $1| |$2
|
||
|
||
# currency
|
||
|
||
# unit/subunit singular/plural
|
||
"us, (.*): (.*), (.*), (.*), (.*), (.*), (.*)" $(\2 \1) \3
|
||
"up, (.*): (.*), (.*), (.*), (.*), (.*), (.*)" $(\2 \1) \4
|
||
"ss, (.*): (.*), (.*), (.*), (.*), (.*), (.*)" $(\5 \1) \6
|
||
"sp, (.*): (.*), (.*), (.*), (.*), (.*), (.*)" $(\5 \1) \7
|
||
|
||
CHF:(\D+,.*) $(\1: cardinal, schweizisk franc, schweizisk franc, cardinal, centime, centime)
|
||
CNY:(\D+,.*) $(\1: cardinal, yuan renminbi, yuan renminbi, cardinal, fen, fen)
|
||
EUR:(\D+,.*) $(\1: cardinal, euro, euro, cardinal-neuter, cent, cent)
|
||
GBP:(\D+,.*) $(\1: cardinal-neuter, brittiskt pund, brittiskt pund, cardinal, penny, pence)
|
||
JPY:(\D+,.*) $(\1: cardinal, yen, yen, cardinal, sen, sen)
|
||
SEK:(\D+,.*) $(\1: cardinal, svensk krona, svenska kronor, cardinal-neuter, öre, öre)
|
||
USD:(\D+,.*) $(\1: cardinal, US-dollar, US-dollar, cardinal-neuter, cent, cent)
|
||
|
||
"([A-Z]{3}) ([-−]?1)([.,]00?)?"$(\1:us, \2)
|
||
"([A-Z]{3}) ([-−]?\d+)([.,]00?)?"$(\1:up, \2)
|
||
|
||
"(CNY [-−]?\d+)[.,]10?" $1 $2 jiao
|
||
"(CNY [-−]?\d+)[.,](\d)0?" $1 $2 jiao
|
||
"(CNY [-−]?\d+[.,]\d)1" $1 $2 fen
|
||
"(CNY [-−]?\d+[.,]\d)(\d)" $1 $2 fen
|
||
|
||
"(([A-Z]{3}) [-−]?\d+)[.,](01)" $1 $(\2:ss, 1)
|
||
"(([A-Z]{3}) [-−]?\d+)[.,](\d)" $1 $(\2:sp, \30)
|
||
"(([A-Z]{3}) [-−]?\d+)[.,](\d\d)" $1 $(\2:sp, \3)
|
||
|
||
== cardinal-neuter ==
|
||
|
||
1 ett
|
||
|
||
== cardinal(-feminine|-masculine|-neuter)? ==
|
||
|
||
([-−]?\d+) $(cardinal |$2)
|
||
"(.*[^ ]e)t(tusen.*)" $(cardinal \2n\3) # 21000, 31000 .. 991000
|
||
"(.*e)tt([ ].*|$)" $(cardinal \2n\3) # !etthundra, !ettusen
|
||
(.*) \2
|
||
|
||
== ordinal(-masculine)? ==
|
||
|
||
([-−]?\d+) $(ordinal |$2)
|
||
|
||
== ordinal ==
|
||
|
||
(.*)ett \1förste # 1
|
||
(.*)två \1andre # 2
|
||
(.*)tre \1tredje # 3
|
||
(.*)fyra \1fjärde # 4
|
||
(.*)sex \1sjätte # 6
|
||
(.*(sju|io)) \1nde # 7, 9, 10, 20..90
|
||
(.*)åtta \1åttonde # 8
|
||
(.*)elva \1elfte # 11
|
||
(.*)tolv \1tolfte # 12
|
||
"(.*(ton|hundra|tusen)) *" \1de # 13, 14..19, 100, 1000
|
||
"(.*)er *" \1te # milljoner...
|
||
"(.*[^ ]) *" \1te # 0, 5, milljon...
|
||
|
||
== ordinal-feminine ==
|
||
|
||
([-−]?\d+) $(ordinal-feminine $(ordinal |$1))
|
||
(.*(först|andr))e \1a # 1, 2
|
||
(.*) \1
|
||
|
||
== ordinal-neuter ==
|
||
|
||
(.*) $(ordinal-feminine |$1)
|
||
|
||
== ordinal-number(-feminine|-neuter)? ==
|
||
|
||
(.*[02-9][12]|[12]) \2:a
|
||
|
||
== ordinal-number(-feminine|-neuter|-masculine)? ==
|
||
|
||
(.*) \2:e
|
||
|
||
== year ==
|
||
|
||
([-−]?(1[1-9]|[2-9]\d))(\d\d) $1hundra$3
|
||
(.*) $1
|
||
|
||
== help ==
|
||
|
||
"" $(1)|, $(2), $(3)\n$(\0 cardinal-feminine)$(\0 cardinal-masculine)$(\0 cardinal-neuter)$(\0 ordinal-feminine)$(\0 ordinal-masculine)$(\0 ordinal-neuter)$(\0 ordinal-number)$(\0 ordinal-number-feminine)$(\0 ordinal-number-masculine)
|
||
((ordinal|cardinal)(-number)?(-feminine|-masculine|-neuter)?) \1: $(\1 1), $(\1 2), $(\1 3)\n
|