Zvinyorwa zveiyo Re module yePython 3 mu. Re module yenguva dzose matauriro

Matauriro enguva dzose chikamu chakakurumbira chechero mutauro wepurogiramu. Vanokubatsira kukurumidza kuwana ruzivo rwaunoda. Kunyanya, dzinoshandiswa pazvinenge zvakakodzera kugadzirisa zvinyorwa. Python inouya neyakakosha module nekukasira. re, iyo ine basa rekushanda nemashoko enguva dzose.

Nhasi tichataura zvakadzama pamusoro pezvazviri muhuwandu, maitiro ekushanda navo uye sei module re ichabatsira.

Matauriro enguva dzose: sumo

Ndeapi mashandisirwo emazwi enguva dzose? Zvinenge zvese. Somuenzaniso, izvi:

  1. Zvishandiso zveWebhu zvinoda kusimbiswa kwemavara. Muenzaniso wakajairika ndeyevatengi vetsamba yepamhepo.
  2. Chero mamwe mapurojekiti ane chekuita nezvinyorwa, dhatabhesi uye zvichingodaro.

Tisati tatanga kupatsanura syntax, tinofanira kunzwisisa zvakadzama misimboti yekutanga yekushanda kweraibhurari. re uye kazhinji, chii chinowanzova chakanaka pamusoro pazvo. Isu tichapawo mienzaniso kubva mukuita chaiko, kwatinozotsanangura maitiro ekushandisa kwavo. Iwe unogona kugadzira template yakadaro, yakakodzera kuti iwe uite zvakasiyana-siyana zvekushanda nemashoko.

Chii chinonzi template muRe library?

Nayo, unogona kutsvaga ruzivo rwemhando dzakasiyana-siyana, tora ruzivo runoenderana navo, kuitira kuti mamwe mabasa awedzere. Uye, chokwadi, kugadzirisa iyi data.

Semuenzaniso, tora template inotevera: s+. Zvinoreva chero chimiro chemuchadenga. Kana iwe ukawedzera chiratidzo chekuwedzera kwairi, zvino izvi zvinoreva kuti iyo pateni inosanganisira inopfuura imwe nzvimbo. Inogona kutofananidza mavara etibhu anodanwa nawo t+.

Usati wavashandisa, unofanira kupinza raibhurari Re. Mushure meizvozvo, tinoshandisa murairo unokosha kuunganidza template. Izvi zvinoitwa mumatanho maviri.

>>> import re

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

Kunyanya, iyi kodhi inoita basa rekunyora template inogona kushandiswa. semuenzaniso, kutsvaga nzvimbo (imwe kana kupfuura).

Kuwana ruzivo rwakaparadzana kubva kutambo dzakasiyana uchishandisa mataurirwo enguva dzose

Ngatitii tine vhezheni ine ruzivo rwunotevera.

>>> zvinyorwa = “””100 INF Informatics

213 MAT Masvomhu  

156 SHONA Shona»»»

Iine makosi matatu ekudzidzisa. Chimwe nechimwe chazvo chine zvikamu zvitatu - nhamba, kodhi uye zita. Tinoona kuti nguva iri pakati pemazwi aya yakasiyana. Chii chekuita kuti utyore mutsara uyu kuita manhamba nemazwi akasiyana? Pane nzira mbiri dzekuzadzisa chinangwa ichi:

  1. dana basa re.split.
  2. shandisa basa split nokuti regex.

Heino muenzaniso wekushandisa syntax yeimwe neimwe yenzira dzekuchinja kwedu.

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

# kana

>>> regex.split(zvinyorwa)

Zvakabuda: ['100', 'INF', 'Computer Sayenzi', '213', 'MAT',' Math', '156', 'ENG', 'Chirungu']

Kazhinji, nzira mbiri dzinogona kushandiswa. Asi zviri nyore kushandisa chirevo chenguva dzose pane kushandisa basa racho kakawanda. re.split.

Kutsvaga machisi ane mabasa matatu

Ngatitii tinoda kubvisa nhamba chete kubva mutambo. Chii chinofanira kuitwa nokuda kweizvi?

re.findall()

Heino chiitiko chekushandisa chebasa racho findall(), iyo, pamwe chete nemataurirwo enguva dzose, inokubvumira kuti utore kuitika kwenhamba imwe kana kupfuura kubva pane zvinyorwa zvakasiyana.

>>> dhinda (zvinyorwa)  

100 INF Informatics

213 MAT Masvomhu  

156 SHONA Chirungu

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

>>> regex_num.findall(zvinyorwa)  

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

Pamwe chete nechiratidzo che d, takashandisa template inoratidza zvachose kukosha kwenhamba inowanikwa mune inoshanduka kana chinyorwa. Uye sezvo tawedzera imwe + ipapo, izvi zvinoreva kuti nhamba imwe chete inofanira kunge iripo. 

Iwe unogona zvakare kushandisa iyo * chiratidzo kutsanangura kuti kuvepo kwedijiti hakudiwi kuti mutambo uwanikwe.

Asi kwatiri, sezvo takashandisa +, takabvisa ne findall() 1 kana mamwe madhijitari edhijitari emakosi kubva pane zvinyorwa. Saka, kwatiri, matauriro enguva dzose anoita sezvigadziro zvebasa racho.

re.search() vs re.match()

Sezvaunogona kufungidzira kubva pazita remabasa, yekutanga inotsvaga mechi mune zvinyorwa. Mubvunzo: Ndeupi musiyano uripo findall? Nyaya yacho ndeyokuti inodzorera chimwe chinhu chinofanana nemuenzaniso, uye kwete kutevedzana kwese kwezviwanikwa zvakawanikwa mumhando yezvinyorwa, sezvakaitwa kare.

Zvakare, re.match basa rinoita zvimwe chete. Chete syntax ndiyo yakasiyana. The template inofanira kuiswa pakutanga. 

Ngatitorei muenzaniso unoratidza izvi.

>>> # gadzira shanduko ine mavara

>>> zvinyorwa2 = «»»INF Informatics

213 MAT Mathematics 156″»»  

>>> # unganidza regex uye tsvaga mapatani

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

>>> s = regex_num.search(chinyorwa2)  

>>> dhinda('Indekisi yekutanga:', s.start())  

>>> dhinda('Indekisi yekupedzisira:', s.end())  

>>> dhinda(zvinyorwa2[s.start():s.end()]) 

Indekisi yekutanga: 17 

Indekisi yekupedzisira: 20

213

Kana iwe uchida kuwana mhedzisiro yakafanana neimwe nzira, unogona kushandisa basa boka ().

Kutsiva chikamu chezvinyorwa neRe library

Kutsiva mavara, shandisa basa re.sub(). Ngatitii mazita edu emakosi achinja zvishoma. Isu tinoona kuti mushure mega yega kukosha kwedhijitari isu tine tab. Basa redu nderekubatanidza kutevedzana kwese uku kuita mutsara mumwe. Kuti tiite izvi, tinoda kutsiva izwi rekuti s+ kudarika 

Mavara ekutanga aive:

# gadzira shanduko ine mavara

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

213 MAT t Math  

156 SHO t Shona»»»  

>>> dhinda (zvinyorwa)  

100 INFO Computer sainzi

213 MAT masvomhu  

156 SHONA Chirungu

Kuti tiite basa raidiwa, takashandisa mitsara inotevera yekodhi.

# tsiva imwe kana yakawanda nzvimbo ne1

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

>>> dhinda(regex.sub(' ', zvinyorwa))  

Somugumisiro, tine mutsara mumwe. 

101 COM Makombiyuta 205 MAT Mathematics 189 SHONA Chirungu

Zvino funga nezverimwe dambudziko. Hatina kutarisana nebasa rekuisa nzvimbo. Izvo zvakanyanya kukosha kwatiri kuti ese mazita ekosi atange pamutsetse mutsva. Kuti uite izvi, kumwe kutaura kunoshandiswa kunowedzera mutsara mutsva kune kunze. Uku kutaura rudzii?

Library Re inotsigira chimiro senge negative kuenzanisa. Iyo inosiyana neyakananga pakuti ine chirevo chekushamisira isati yatemwa. Kureva kuti, kana tichida kusvetuka mutsara mutsva, saka tinoda kunyora !n pachinzvimbo che n.

Tinowana kodhi inotevera.

# bvisa nzvimbo dzese kunze kwemutsara mutsva  

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

>>> dhinda(regex.sub(' ', zvinyorwa))  

100 INF Informatics

213 MAT Masvomhu  

156 SHONA Chirungu

Ndeapi ari mapoka ekutaura nguva dzose?

Nekubatsirwa kwemapoka ezvinyorwa zvenguva dzose, tinogona kuwana zvinhu zvinodikanwa nenzira yezvikamu zvakasiyana, uye kwete mumutsetse mumwe. 

Ngatitii tinoda kuwana nhamba yekosi, kodhi uye zita kwete mumutsetse mumwe, asi sezvikamu zvakasiyana. Kuti upedze basa racho, iwe uchafanirwa kunyora nhamba huru yezvisingakoshi mitsara yekodhi. 

Kutaura zvazviri, basa racho rinogona kurerutswa zvikuru. Iwe unogona kuunganidza template yezvese zvinyorwa uye kungotsanangura iyo data yaunoda kuwana kubva kumabhuraketi.

Pachava nenhamba shoma yemitsara. 

# gadzira mapoka echokwadi mameseji matemplate uye abvise

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

>>> re.findall(course_pattern, zvinyorwa)  

[('100', 'INF', 'Computer Sayenzi'), ('213', 'MAT', 'Math'), ('156', 'ENG', 'Chirungu')]

Pfungwa ye "kukara" kuenderana

Nezviyero, matauriro akajairwa akarongwa kuti abvise huwandu hwakanyanya hwekufananidza data. Uye kunyange kana uchida zvishoma.

Ngatitarisei muenzaniso weHTML kodhi kwatinoda kuwana iyo tag.

>>> zvinyorwa = "Muenzaniso weKukara Kwenguva Dzose Kufananidzira"  

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

['Muenzaniso weMakaro Anowanzoenderana Nekutaura']

Panzvimbo pekubvisa tag imwe chete, Python akawana tambo yese. Ndiko kusaka zvichinzi makaro.

Uye chii chekuita kuti uwane chete tag? Muchiitiko chino, unofanira kushandisa simbe kuenzanisa. Kutsanangura kutaura kwakadaro, chiratidzo chemubvunzo chinowedzerwa kumagumo epateni.

Iwe uchawana kodhi inotevera uye zvinobuda zvemuturikiri.

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

[", ”]

Kana zvichidikanwa kuti uwane chete yekutanga yakasangana chiitiko, ipapo nzira inoshandiswa tsvaga ().

tsvaga ('', zvinyorwa).group()  

"

Ipapo chete tegi yekuvhura ndiyo ichawanikwa.

Popular Expression Templates

Heino tafura ine anonyanya kushandiswa akajairika ekutaura mapatani.

Zvinyorwa zveiyo Re module yePython 3 mu. Re module yenguva dzose matauriro

mhedziso

Isu takafunga chete nzira dzekutanga dzekushanda nemataurirwo enguva dzose. Chero zvazvingava, waona kukosha kwadzo. Uye pano hazvina mutsauko kana zvichidikanwa kusiyanisa zvinyorwa zvese kana zvidimbu zvaro, zvingave zvakakosha kuongorora chinyorwa pasocial network kana kuunganidza data kuti uzvigadzirise gare gare. Matauriro enguva dzose mubatsiri akavimbika munyaya iyi.

Vanokubvumira kuita mabasa akadai se:

  1. Kutsanangura chimiro che data, senge email kero kana nhamba yefoni.
  2. Kutora tambo uye kupatsanura kuita tambo diki dzinoverengeka.
  3. Ita mashandiro akasiyana nemavara, sekutsvaga, kutora ruzivo rwakakosha, kana kutsiva chikamu chemavara.

Matauriro enguva dzose anokubvumirawo kuita mabasa asiri madiki. Pakutanga kuona, kugona iyi sainzi hakusi nyore. Asi mukuita, zvinhu zvose zvakagadziriswa, saka zvakakwana kuti uzvifungidzire kamwe chete, mushure mezvo chishandiso ichi chinogona kushandiswa kwete muPython chete, asiwo mune chero mimwe mitauro yepurogiramu. Kunyangwe Excel inoshandisa yakajairika mataurirwo kuita otomatiki kugadzirisa data. Saka chitadzo kusashandisa chombo ichi.

Leave a Reply