Litokomane bakeng sa module ea Re bakeng sa Python 3 ho. Re module bakeng sa lipolelo tse tloaelehileng

Lipolelo tse tloaelehileng ke karolo e tsebahalang haholo ea hoo e batlang e le puo efe kapa efe ea lenaneo. Li u thusa ho fumana lintlha tseo u li hlokang kapele. Haholo-holo, li sebelisoa ha ho hlokahala ho sebetsana le mongolo. Python e tla le module e khethehileng ka ho sa feleng. re, e nang le boikarabelo ba ho sebetsa ka lipolelo tse tloaelehileng.

Kajeno re tla bua ka ho qaqileng hore na ke eng ka kakaretso, mokhoa oa ho sebetsa le bona le hore na mojule re e tla thusa.

Mantsoe a tloaelehileng: kenyelletso

Litšebeliso tsa lipolelo tse tloaelehileng ke life? Hoo e ka bang kaofela. Ka mohlala, tsena:

  1. Lisebelisoa tsa Marang-rang tse hlokang ho netefatsoa ka mongolo. Mohlala o tloaelehileng ke bareki ba poso ba inthaneteng.
  2. Merero efe kapa efe e meng e amanang le lingoliloeng, databases joalo-joalo.

Pele re qala ho arola syntax, re lokela ho utloisisa ka botlalo melao-motheo ea ts'ebetso ea laeborari. re 'me ka kakaretso, ke eng e ntle ka kakaretso ka eona. Hape re tla fana ka mehlala ho tsoa ho mekhoa ea sebele, moo re tla hlalosa mokhoa oa tšebeliso ea bona. U ka etsa template e joalo, e loketseng hore u etse mesebetsi e mengata e fapaneng ka mongolo.

Setšoantšo se laebraring ea Re ke eng?

Ka eona, o ka batla tlhahisoleseling ea mefuta e fapaneng, fumana tlhaiso-leseling e lumellanang le eona, ho etsa hore mesebetsi e meng e ikamahanye le maemo. 'Me, ehlile, ho sebetsa data ena.

Ka mohlala, nka template e latelang: s+. E bolela sebopeho sefe kapa sefe sa sebaka. Haeba o eketsa letšoao ho eona, joale sena se bolela hore mohlala o kenyelletsa sebaka se fetang se le seng. E ka tsamaisana le litlhaku tsa li-tab tse bitsoang le t+.

Pele u li sebelisa, u lokela ho kenya laebrari Re. Ka mor'a moo, re sebelisa taelo e khethehileng ho bokella template. Sena se etsoa ka mehato e 'meli.

>>> import re

>>> regex = re.compile('s+')

Ka ho khetheha, khoutu ena e etsa ts'ebetso ea ho bokella template e ka sebelisoang. mohlala, ho batla libaka (e le 'ngoe kapa ho feta).

Ho fumana lintlha tse arohaneng ho tsoa lithapong tse fapaneng ka ho sebelisa mantsoe a tloaelehileng

Ha re re re na le phetoho e nang le lintlha tse latelang.

>>> mongolo = “””100 INF Informatics

213 MAT Mathematics  

156 SESOTHO»»»

E na le lithupelo tse tharo. E 'ngoe le e' ngoe ea tsona e na le likarolo tse tharo - nomoro, khoutu le lebitso. Rea bona hore nako e pakeng tsa mantsoe ana e fapane. Seo u lokelang ho se etsa ho arola mola ona ka linomoro le mantsoe a arohaneng? Ho na le mekhoa e 'meli ea ho fihlela sepheo sena:

  1. letsetsa tshebetso khaoha hape.
  2. sebetsa mosebetsi Arohane etsoe regex.

Mona ke mohlala oa ho sebelisa syntax ea mokhoa o mong le o mong oa ho feto-fetoha ha rona.

>>> re.split('s+', mongolo)  

# kapa

>>> regex.split(mongolo)

Sephetho: ['100', 'INF', 'Computer Science', '213', 'MAT', 'Math', '156', 'ENG', 'English']

Ka kakaretso, mekhoa ka bobeli e ka sebelisoa. Empa ho bonolo haholo ho sebelisa polelo e tloaelehileng ho fapana le ho sebelisa ts'ebetso hangata. khaoha hape.

Ho fumana lipapali tse nang le mesebetsi e meraro

Ha re re re hloka ho ntša linomoro feela khoeleng. Ke eng e lokelang ho etsoa bakeng sa see?

re.findall()

Mona ke mohlala oa tšebeliso bakeng sa ts'ebetso fumanall(), eo, hammoho le lipolelo tse tloaelehileng, e u lumellang ho ntša palo e le 'ngoe kapa ho feta moo ho hlahang mongolo.

>>> hatisa(mongolo)  

100 INF Informatics

213 MAT Mathematics  

156 SESOTHO SESOTHO

>>> regex_num = re.compile('d+')  

>>> regex_num.findall(mongolo)  

['100', '213', '156']

Mmoho le letshwao la d, re sebelisitse template e bonts'ang boleng bofe kapa bofe ba linomoro bo fumanehang mofuteng kapa mongolong. Mme kaha re kentse e le nngwe + mono, hona ho bolela hore bonyane palo e le nngwe e tlameha ho ba teng. 

U ka sebelisa lets'oao la * ho hlakisa hore boteng ba linomoro ha bo hlokehe hore papali e fumanoe.

Empa ho rona, kaha re sebelisitse +, re ntšitse ka fumanall() 1 kapa ho feta mabitso a dijithale a lithuto tse tsoang sengolong. Kahoo, molemong oa rona, lipolelo tse tloaelehileng li sebetsa e le litlhophiso tsa mosebetsi.

batla hape() vs re.match()

Joalo ka ha u ka hakanya ho tsoa lebitsong la lits'ebetso, ea pele e batla e tšoanang sengolong. Potso: Phapano ke efe pakeng tsa fumana? Taba ke hore e khutlisa ntho e itseng e lumellanang le mohlala, eseng tatellano eohle ea liphetho tse fumanoeng ka mokhoa oa lethathamo, joalo ka mosebetsi o fetileng.

Ka lehlakoreng le leng, mosebetsi oa re.match o etsa joalo. Ke syntax feela e fapaneng. Setšoantšo se tlameha ho behoa qalong. 

A re nke mohlala o bontšang sena.

>>> # theha phetoho ka mongolo

>>> mongolo2 = «»»INF Informatics

213 MAT Mathematics 156″»»  

>>> # bokella regex 'me u batle lipaterone

>>> regex_num = re.compile('d+')  

>>> s = regex_num.search(text2)  

>>> hatisa('Index ea pele: ', s.start())  

>>> hatisa ('Index ea ho qetela:', s.end())  

>>> hatisa(text2[s.start():s.end()]) 

Lenane la pele: 17 

Lenane la ho qetela: 20

213

Haeba u batla ho fumana sephetho se tšoanang ka tsela e fapaneng, u ka sebelisa ts'ebetso sehlopha().

Ho fetola karolo ea mongolo ka Re library

Ho fetola mongolo, sebelisa tshebetso re.sub(). Ha re re lethathamo la rona la lithuto le fetohile hanyane. Rea bona hore ka mor'a boleng bo bong le bo bong ba dijithale re na le tabo. Mosebetsi oa rona ke ho kopanya tatellano ena kaofela moleng o le mong. Ho etsa sena, re hloka ho khutlisa poleloana s + ho feta 

Mongolo oa mantlha e ne e le:

# theha phetoho ka mongolo

>>> mongolo = “””100 INF t Informatics

213 MAT t Math  

156 ENG t English»»»  

>>> hatisa(mongolo)  

100 tlhahisoleseling Informatics

213 MAT thuto ea lipalo  

156 SESO English

Ho etsa ts'ebetso e lakatsehang, re sebelisitse mela e latelang ea khoutu.

# fetola sebaka se le seng kapa ho feta ka 1

>>> regex = re.compile('s+')  

>>> hatisa(regex.sub(' ', mongolo))  

Ka lebaka leo, re na le mola o le mong. 

101 COM Computers 205 MAT Mathematics 189 ENG Sesotho

Joale nahana ka bothata bo bong. Ha re tobane le mosebetsi oa ho beha libaka. Ho bohlokoa haholo ho rona hore mabitso ohle a lithuto a qale moleng o mocha. Ho etsa sena, ho sebelisoa polelo e 'ngoe e eketsang mola o mocha ho mokhelo. Polelo ee ke ea mofuta ofe?

Library Re e tshehetsa sebopeho joalo ka ho nyallana hampe. E fapane le e tobileng ka hore e na le lets'oao pele ho slash. Ke hore, haeba re hloka ho tlola tlhaku e ncha, re tlameha ho ngola !n sebakeng sa n.

Re fumana khoutu e latelang.

# tlosa libaka tsohle ntle le mola o mocha  

>>> regex = re.compile('((?!n)s+)')  

>>> hatisa(regex.sub(' ', mongolo))  

100 INF Informatics

213 MAT Mathematics  

156 SESOTHO SESOTHO

Lihlopha tsa kamehla tsa polelo ke life?

Ka thuso ea lihlopha tsa lipolelo tse tloaelehileng, re ka fumana lintho tse lakatsehang ka mokhoa oa likarolo tse arohaneng, eseng ka mola o le mong. 

Ha re re re hloka ho fumana nomoro ea thupelo, khoutu le mabitso eseng moleng o le mong, empa e le likarolo tse arohaneng. Ho phethela mosebetsi, o tla hloka ho ngola palo e kholo ea mela e sa hlokahaleng ea khoutu. 

Ha e le hantle, mosebetsi o ka nolofatsoa haholo. O ka bokella template bakeng sa likenyelletso tsohle mme o hlalose feela data eo o hlokang ho e fumana ho tsoa masakaneng.

Ho tla ba le palo e nyane haholo ea mela. 

# theha lihlopha tsa litempele tsa mongolo ebe u li ntša

>>> course_pattern = '([0-9]+)s*([A-ZY]{3})s*([a-zA-ZoY]{4,})'  

>>> re.findall(course_pattern, text)  

[('100', 'INF', 'Computer Science'), ('213', 'MAT', 'Math'), ('156', 'ENG', 'English')]

Moelelo oa ho nyallana "meharo".

Ka mokhoa o tloaelehileng, lipolelo tse tloaelehileng li hlophisitsoe ho ntša palo e kholo ea data e tsamaellanang. 'Me le haeba u hloka tse fokolang haholo.

Ha re shebeng mohlala oa khoutu ea HTML moo re hlokang ho fumana tag.

>>> mongolo = "Mohlala oa Meharo ea Kamehla e Bapisang Mantsoe"  

>>> re.findall('', mongolo)  

['Mohlala oa Meharo e Tloaelehileng ea Matching']

Sebakeng sa ho ntša tag e le 'ngoe feela, Python e ile ea fumana khoele eohle. Ke kahoo e bitsoang meharo.

Mme o etse eng ho fumana tag feela? Tabeng ena, ho hlokahala hore u sebelise ho kopanya ka botsoa. Ho hlakisa polelo e joalo, ho eketsoa letšoao la potso qetellong ea paterone.

U tla fumana khoutu e latelang le tlhahiso ea mofetoleli.

>>> re.findall('', mongolo)  

[", ”]

Haeba ho hlokahala ho fumana ketsahalo ea pele feela e kopaneng, joale mokhoa o sebelisoa batla ().

batla hape('', mongolo).sehlopha()  

"

Joale ho tla fumanoa feela tag ea ho bula.

Lithempleite tsa Mantsoe a Tloaelehileng

Mona ke tafole e nang le lipaterone tsa tloaelo tse sebelisoang haholo.

Litokomane bakeng sa module ea Re bakeng sa Python 3 ho. Re module bakeng sa lipolelo tse tloaelehileng

fihlela qeto e

Re hlahlobile feela mekhoa ea motheo ea ho sebetsa ka lipolelo tse tloaelehileng. Leha ho le joalo, u bone kamoo li leng bohlokoa kateng. 'Me mona ha ho etse phapang hore na hoa hlokahala ho arola mongolo oohle kapa likaroloana tsa oona ka bomong, ho sa tsotellehe hore na hoa hlokahala ho hlahloba poso ho liwebsaete tsa sechaba kapa ho bokella lintlha e le hore u li sebetse hamorao. Lipolelo tsa kamehla ke mothusi ea tšepahalang tabeng ena.

Ba u lumella ho etsa mesebetsi e kang:

  1. Ho hlakisa sebopeho sa data, joalo ka aterese ea lengolo-tsoibila kapa nomoro ea mohala.
  2. Ho fumana khoele le ho e arola ka likhoele tse 'maloa tse nyane.
  3. Etsa mesebetsi e fapaneng ka mongolo, joalo ka ho batla, ho ntša lintlha tse hlokahalang, kapa ho fetola karolo ea litlhaku.

Lipolelo tse tloaelehileng li boetse li u lumella ho etsa ts'ebetso e sa reng letho. Ha u habanya feela, ho tseba saense ena ha ho bonolo. Empa ka ts'ebetso, ntho e 'ngoe le e' ngoe e lekane, kahoo ho lekane ho e utloisisa hang, ka mor'a moo sesebelisoa sena se ka sebelisoa eseng feela ka Python, empa hape le ka puo leha e le efe ea lenaneo. Esita le Excel e sebelisa lipolelo tse tloaelehileng ho iketsetsa ts'ebetso ea data. Kahoo ke sebe ho se sebelise sesebelisoa sena.

Leave a Reply