# coding: utf8 from __future__ import unicode_literals import regex as re from spacy.language_data.punctuation import ALPHA_LOWER, CURRENCY from ..language_data.tokenizer_exceptions import _URL_PATTERN ABBREVIATIONS = """ A. AG. AkH. Aö. B. B.CS. B.S. B.Sc. B.ú.é.k. BE. BEK. BSC. BSc. BTK. Bat. Be. Bek. Bfok. Bk. Bp. Bros. Bt. Btk. Btke. Btét. C. CSC. Cal. Cg. Cgf. Cgt. Cia. Co. Colo. Comp. Copr. Corp. Cos. Cs. Csc. Csop. Cstv. Ctv. Ctvr. D. DR. Dipl. Dr. Dsz. Dzs. E. EK. EU. F. Fla. Folyt. Fpk. Főszerk. G. GK. GM. Gfv. Gmk. Gr. Group. Gt. Gy. H. HKsz. Hmvh. I. Ifj. Inc. Inform. Int. J. Jr. Jv. K. K.m.f. KB. KER. KFT. KRT. Kb. Ker. Kft. Kg. Kht. Kkt. Kong. Korm. Kr. Kr.e. Kr.u. Krt. L. LB. Llc. Ltd. M. M.A. M.S. M.SC. M.Sc. MA. MH. MSC. MSc. Mass. Max. Mlle. Mme. Mo. Mr. Mrs. Ms. Mt. N. N.N. NB. NBr. Nat. No. Nr. Ny. Nyh. Nyr. Nyrt. O. OJ. Op. P. P.H. P.S. PH.D. PHD. PROF. Pf. Ph.D PhD. Pk. Pl. Plc. Pp. Proc. Prof. Ptk. R. RT. Rer. Rt. S. S.B. SZOLG. Salg. Sch. Spa. St. Sz. SzRt. Szerk. Szfv. Szjt. Szolg. Szt. Sztv. Szvt. Számv. T. TEL. Tel. Ty. Tyr. U. Ui. Ut. V. VB. Vcs. Vhr. Vht. Várm. W. X. X.Y. Y. Z. Zrt. Zs. a.C. ac. adj. adm. ag. agit. alez. alk. all. altbgy. an. ang. arch. at. atc. aug. b.a. b.s. b.sc. bek. belker. berend. biz. bizt. bo. bp. br. bsc. bt. btk. ca. cc. cca. cf. cif. co. corp. cos. cs. csc. csüt. cső. ctv. dbj. dd. ddr. de. dec. dikt. dipl. dj. dk. dl. dny. dolg. dr. du. dzs. ea. ed. eff. egyh. ell. elv. elvt. em. eng. eny. et. etc. ev. ezr. eü. f.h. f.é. fam. fb. febr. fej. felv. felügy. ff. ffi. fhdgy. fil. fiz. fm. foglalk. ford. fp. fr. frsz. fszla. fszt. ft. fuv. főig. főisk. főtörm. főv. gazd. gimn. gk. gkv. gmk. gondn. gr. grav. gy. gyak. gyártm. gör. hads. hallg. hdm. hdp. hds. hg. hiv. hk. hm. ho. honv. hp. hr. hrsz. hsz. ht. htb. hv. hőm. i.e. i.sz. id. ie. ifj. ig. igh. ill. imp. inc. ind. inform. inic. int. io. ip. ir. irod. irod. isk. ism. izr. iá. jan. jav. jegyz. jgmk. jjv. jkv. jogh. jogt. jr. jvb. júl. jún. karb. kat. kath. kb. kcs. kd. ker. kf. kft. kht. kir. kirend. kisip. kiv. kk. kkt. klin. km. korm. kp. krt. kt. ktsg. kult. kv. kve. képv. kísérl. kóth. könyvt. körz. köv. közj. közl. közp. közt. kü. lat. ld. legs. lg. lgv. loc. lt. ltd. ltp. luth. m.a. m.s. m.sc. ma. mat. max. mb. med. megh. met. mf. mfszt. min. miss. mjr. mjv. mk. mlle. mme. mn. mozg. mr. mrs. ms. msc. má. máj. márc. mé. mélt. mü. műh. műsz. műv. művez. nagyker. nagys. nat. nb. neg. nk. no. nov. nu. ny. nyilv. nyrt. nyug. obj. okl. okt. old. olv. orsz. ort. ov. ovh. pf. pg. ph.d ph.d. phd. phil. pjt. pk. pl. plb. plc. pld. plur. pol. polg. poz. pp. proc. prof. prot. pság. ptk. pu. pü. r.k. rac. rad. red. ref. reg. rer. rev. rf. rkp. rkt. rt. rtg. röv. s.b. s.k. sa. sb. sel. sgt. sm. st. stat. stb. strat. stud. sz. szakm. szaksz. szakszerv. szd. szds. szept. szerk. szf. szimf. szjt. szkv. szla. szn. szolg. szt. szubj. szöv. szül. tanm. tb. tbk. tc. techn. tek. tel. tf. tgk. ti. tip. tisztv. titks. tk. tkp. tny. tp. tszf. tszk. tszkv. tv. tvr. ty. törv. tü. ua. ui. unit. uo. uv. vas. vb. vegy. vh. vhol. vhr. vill. vizsg. vk. vkf. vkny. vm. vol. vs. vsz. vv. vál. várm. vízv. vö. zrt. zs. Á. Áe. Áht. É. Épt. Ész. Új-Z. ÚjZ. Ún. á. ált. ápr. ásv. é. ék. ény. érk. évf. í. ó. össz. ötk. özv. ú. ú.n. úm. ún. út. üag. üd. üdv. üe. ümk. ütk. üv. ű. őrgy. őrpk. őrv. """.strip().split() OTHER_EXC = """ -e """.strip().split() ORD_NUM_OR_DATE = "([A-Z0-9]+[./-])*(\d+\.?)" _NUM = "[+\-]?\d+([,.]\d+)*" _OPS = "[=<>+\-\*/^()÷%²]" _SUFFIXES = "-[{a}]+".format(a=ALPHA_LOWER) NUMERIC_EXP = "({n})(({o})({n}))*[%]?".format(n=_NUM, o=_OPS) TIME_EXP = "\d+(:\d+)*(\.\d+)?" NUMS = "(({ne})|({t})|({on})|({c}))({s})?".format( ne=NUMERIC_EXP, t=TIME_EXP, on=ORD_NUM_OR_DATE, c=CURRENCY, s=_SUFFIXES ) TOKEN_MATCH = re.compile("^({u})|({n})$".format(u=_URL_PATTERN, n=NUMS)).match