Ka palapala no ka module Re no Python 3 ma . Hoʻololi hou no nā ʻōlelo maʻamau

He mea kaulana loa nā ʻōlelo maʻamau o ka ʻōlelo hoʻonohonoho. Kōkua lākou iā ʻoe e komo koke i ka ʻike āu e pono ai. ʻO ka mea nui, hoʻohana ʻia lākou i ka wā e pono ai ke hoʻoponopono kikokikona. Hele mai ʻo Python me kahi module kūikawā ma ke ʻano maʻamau. re, nona ke kuleana no ka hana ʻana me nā ʻōlelo maʻamau.

I kēia lā mākou e kamaʻilio kikoʻī e pili ana i ka mea maʻamau, pehea e hana pū ai me lākou a pehea ka module re e kōkua.

Nā ʻōlelo maʻamau: he hoʻolauna

He aha ka hoʻohana ʻana i nā ʻōlelo maʻamau? Aneane pau loa. Eia kekahi laʻana, penei:

  1. Nā polokalamu pūnaewele e pono ai ka hōʻoia kikokikona. ʻO kahi laʻana maʻamau nā mea kūʻai leka uila.
  2. ʻO nā papahana ʻē aʻe e pili ana i nā kikokikona, nā waihona a pēlā aku.

Ma mua o ka hoʻomaka ʻana i ka hoʻopaʻa ʻana i ka syntax, pono mākou e hoʻomaopopo i nā kikoʻī i nā kumu kumu o ka hana o ka waihona re a ma ka laulā, he aha ka maikaʻi o ia mea. E hāʻawi pū mākou i nā hiʻohiʻona mai ka hana maoli, kahi e wehewehe ai mākou i ke ʻano o kā lākou hoʻohana. Hiki iā ʻoe ke hana i kahi laʻana, kūpono iā ʻoe e hana i nā ʻano hana like ʻole me ka kikokikona.

He aha ke ʻano ma ka waihona Re?

Me ia, hiki iā ʻoe ke ʻimi i ka ʻike o nā ʻano like ʻole, e kiʻi i ka ʻike e pili ana iā lākou, i mea e hoʻololi ai i nā hana ʻē aʻe. A, ʻoiaʻiʻo, e hana i kēia ʻikepili.

No ka laʻana, e lawe i kēia maʻamau: s+. ʻO ke ʻano o kēlā me kēia ʻano lewa. Inā hoʻohui ʻoe i kahi hōʻailona hoʻohui iā ia, ʻo ia hoʻi, ʻoi aku ka nui o ke kumu ma mua o hoʻokahi wahi. Hiki iā ia ke hoʻohālikelike i nā huapalapala tab i kapa ʻia me t+.

Ma mua o ka hoʻohana ʻana iā lākou, pono ʻoe e hoʻokomo i ka waihona Re. Ma hope o kēlā, hoʻohana mākou i kahi kauoha kūikawā e hōʻuluʻulu i ka template. Hana ʻia kēia ma nā ʻanuʻu ʻelua.

>>> lawe hou mai

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

ʻO ke kikoʻī, hana kēia code i ka hana o ka hōʻuluʻulu ʻana i kahi template hiki ke hoʻohana. no ka laʻana, e ʻimi i nā hakahaka (hoʻokahi a ʻoi aku paha).

Loaʻa ka ʻike kaʻawale mai nā kaula like ʻole me ka hoʻohana ʻana i nā ʻōlelo maʻamau

Inā paha he ʻano hoʻololi i loaʻa ka ʻike ma lalo nei.

>>> kikokikona = “””100 INF Informatics

213 MAT Matematika  

156 MAKEMAKE English»»»

Aia ʻekolu mau papa aʻo. ʻO kēlā me kēia o lākou he ʻekolu ʻāpana - helu, code a me ka inoa. ʻIke mākou he ʻokoʻa ke kaʻawale ma waena o kēia mau huaʻōlelo. He aha kāu e hana ai i mea e wāwahi ai i kēia laina i nā helu a me nā huaʻōlelo? ʻElua mau ala e hoʻokō ai i kēia pahuhopu:

  1. kāhea i kahi hana hoʻokaʻawale hou.
  2. hoʻopili i ka hana hoʻokaʻawale no ka mea, regex.

Eia kekahi laʻana o ka hoʻohana ʻana i ka syntax o kēlā me kēia ʻano hana no kā mākou loli.

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

# or

>>> regex.split(kikokikona)

Puka: ['100', 'INF', 'Epekema Kamepiula', '213', 'MAT', 'Math', '156', 'ENG', 'English']

Ma keʻano laulā, hiki ke hoʻohanaʻia nāʻanoʻelua. Akā ʻoi aku ka maʻalahi o ka hoʻohana ʻana i kahi ʻōlelo maʻamau ma mua o ka hoʻohana ʻana i ka hana i nā manawa he nui. hoʻokaʻawale hou.

Ke ʻimi nei i nā pāʻani me ʻekolu mau hana

E ʻōlelo mākou pono mākou e unuhi i nā helu wale nō mai kahi kaula. He aha nā mea e pono ai ke hana no kēia?

re.findall()

Eia kahi hihia hoʻohana no ka hana loaʻa(), ʻo ia hoʻi, me nā ʻōlelo maʻamau, hiki iā ʻoe ke unuhi i nā hanana o hoʻokahi a ʻoi aku paha nā helu mai kahi loli kikokikona.

>>> paʻi (kikokikona)  

100 INF Informatics

213 MAT Matematika  

156 MAKEMAKE English

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

>>> regex_num.findall(text)  

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

Me ka hōʻailona d, ua hoʻohana mākou i kahi laʻana e hōʻike pono ana i nā waiwai helu i loaʻa i kahi loli a i ʻole kikokikona. A no ka mea ua hoʻohui mākou i hoʻokahi + ma laila, ʻo ia hoʻi, ʻo ka liʻiliʻi loa he helu hoʻokahi. 

Hiki iā ʻoe ke hoʻohana i ka hōʻailona * no ka hoʻomaopopo ʻana ʻaʻole pono ka loaʻa ʻana o kahi huahelu no ka loaʻa ʻana o kahi pāʻani.

Akā i kā mākou hihia, ʻoiai mākou i hoʻohana +, lawe mākou me loaʻa() 1 a ʻoi aʻe paha nā inoa kikohoʻe o nā papa mai ka kikokikona. No laila, i kā mākou hihia, hana nā ʻōlelo maʻamau ma ke ʻano he hoʻonohonoho no ka hana.

huli hou () vs re.match()

Hiki iā ʻoe ke koho mai ka inoa o nā hana, ʻimi ka mea mua i kahi hoʻokūkū ma ka kikokikona. Nīnau: He aha ka ʻokoʻa ma waena loaʻa? ʻO ka manaʻo, ʻo ia ka hoʻihoʻi ʻana i kahi mea kikoʻī e pili ana i ke kumu, ʻaʻole ke kaʻina holoʻokoʻa o nā hopena i loaʻa ma ke ʻano o kahi papa inoa, e like me ka hana mua.

Ma ka huli, hana like ka hana re.match. ʻOkoʻa wale ka syntax. Pono e kau ʻia ke kumu ma ka hoʻomaka. 

E lawe kākou i kekahi laʻana e hōʻike ana i kēia.

>>> # hana i ka loli me ka kikokikona

>>> kikokiko2 = «»»INF Informatics

213 MAT Matematika 156″»»  

>>> # hōʻuluʻulu regex a ʻimi i nā ʻano

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

>>> s = regex_num.search(text2)  

>>> paʻi('Heluhelu mua: ', s.start())  

>>> paʻi('Heluhelu hope: ', s.end())  

>>> paʻi(text2[s.start():s.end()]) 

Helu mua: 17 

Helu helu hope: 20

213

Inā makemake ʻoe e loaʻa kahi hopena like ma kahi ʻano ʻokoʻa, hiki iā ʻoe ke hoʻohana i ka hana hui().

Ke hoʻololi nei i kahi ʻāpana kikokikona me ka waihona Re

No ka pani ʻana i ka kikokikona, e hoʻohana i ka hana re.sub(). Inā paha ua loli iki kā mākou papa inoa. ʻIke mākou ma hope o kēlā me kēia waiwai kikohoʻe loaʻa iā mākou kahi pā. ʻO kā mākou hana ka hoʻohui ʻana i kēia kaʻina a pau i hoʻokahi laina. No ka hana ʻana i kēia, pono mākou e pani i ka huaʻōlelo s+ e hele 

ʻO ka kikokikona kumu:

# hana i kahi loli me ka kikokikona

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

213 MAT t Makemakika  

156 ENGn t English»»»  

>>> paʻi (kikokikona)  

100 INFO ʻEpekema kamepiula

213 MAT makemakika  

156 ENG English

No ka hana ʻana i ka hana i makemake ʻia, ua hoʻohana mākou i nā laina o ke code.

# hoʻololi i hoʻokahi a ʻoi aku paha nā wahi me 1

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

>>> paʻi(regex.sub(' ', kikokikona))  

ʻO ka hopena, loaʻa iā mākou hoʻokahi laina. 

101 COM Computers 205 MAT Matematika 189 ENGLE English

I kēia manawa e noʻonoʻo i kahi pilikia ʻē aʻe. ʻAʻole mākou e alo i ka hana o ka waiho ʻana i nā wahi. ʻOi aku ka mea nui iā mākou e hoʻomaka nā inoa papa āpau ma kahi laina hou. No ka hana ʻana i kēia, hoʻohana ʻia kekahi ʻōlelo e hoʻohui i kahi laina hou i ka ʻokoʻa. He aha kēia ʻano ʻōlelo?

waihona Puke Re kākoʻo i kahi hiʻohiʻona e like me ka hoʻohālikelike maikaʻi ʻole. He ʻokoʻa ia mai ka mea pololei i loaʻa i kahi kikoʻī ma mua o ka slash. ʻO ia hoʻi, inā pono mākou e hoʻokuʻu i ke ʻano laina hou, a laila pono mākou e kākau i !n ma kahi o n.

Loaʻa iā mākou ke code aʻe.

# wehe i nā hakahaka a pau koe ka laina hou  

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

>>> paʻi(regex.sub(' ', kikokikona))  

100 INF Informatics

213 MAT Matematika  

156 MAKEMAKE English

He aha nā hui hōʻike maʻamau?

Me ke kōkuaʻana o nā pūʻulu o nā'ōlelo maʻamau, hiki iā mākou ke loaʻa nā mea i makemakeʻia ma keʻano o nā mea likeʻole,ʻaʻole i ka laina hoʻokahi. 

Inā pono mākou e kiʻi i ka helu papa, code a me ka inoa ʻaʻole ma ka laina hoʻokahi, akā ma ke ʻano he mau mea ʻokoʻa. No ka hoʻopau ʻana i ka hana, pono ʻoe e kākau i kahi helu nui o nā laina pono ʻole o ke code. 

ʻOiaʻiʻo, hiki ke maʻalahi ka hana. Hiki iā ʻoe ke hōʻuluʻulu i ka laʻana no nā mea hoʻokomo āpau a kuhikuhi wale i ka ʻikepili āu e pono ai e kiʻi mai nā brackets.

E liʻiliʻi loa nā laina. 

# hana i nā pūʻulu o nā ʻatikala papa a unuhi iā lākou

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

>>> re.findall(kumu_papa, kikokikona)  

[('100', 'INF', 'Epekema Kamepiula'), ('213', 'MAT', 'Math'), ('156', 'ENG', 'English')]

ʻO ka manaʻo o ka pili ʻana i ka "makemake".

Ma ka maʻamau, ua hoʻolālā ʻia nā ʻōlelo maʻamau e unuhi i ka nui o nā ʻikepili pili. A inā pono ʻoe i ka liʻiliʻi.

E nānā i kahi code HTML laʻana kahi e pono ai mākou e kiʻi i ka hōʻailona.

>>> kikokikona = “Ka Laʻana o ka Manaʻo Hoʻohālikelike Maʻamau”  

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

['Ka Laʻana o ka Manaʻo Hoʻohālikelike Maʻamau']

Ma kahi o ka unuhi ʻana i hoʻokahi hōʻailona, ​​ua loaʻa iā Python ke kaula holoʻokoʻa. ʻO ia ke kumu i kapa ʻia ai ʻo gredy.

A he aha ka mea e hana ai e kiʻi wale i ka hōʻailona? I kēia hihia, pono ʻoe e hoʻohana i ka lazy matching. No ka wehewehe ʻana i kēlā ʻano ʻōlelo, hoʻohui ʻia kahi māka nīnau i ka hopena o ke kumu.

E loaʻa iā ʻoe kēia code a me ka hopena o ka unuhi ʻōlelo.

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

[", ”]

Inā makemake ʻia e loaʻa wale ka mea i ʻike mua ʻia, a laila hoʻohana ʻia ke ʻano huli ().

huli hou('', kikokikona).hui()  

"

A laila e ʻike ʻia ka hōʻailona wehe.

Nā Papahana Hōʻike Kūlana Nui

Eia kahi papa i loaʻa nā ʻano hoʻohālike maʻamau i hoʻohana pinepine ʻia.

Ka palapala no ka module Re no Python 3 ma . Hoʻololi hou no nā ʻōlelo maʻamau

Panina

Ua noʻonoʻo mākou i nā ala maʻamau no ka hana ʻana me nā ʻōlelo maʻamau. ʻO kēlā me kēia hihia, ua ʻike ʻoe i ke koʻikoʻi o lākou. A ma ʻaneʻi, ʻaʻohe mea ʻokoʻa inā pono e hoʻokaʻawale i ka kikokikona holoʻokoʻa a i ʻole kāna mau ʻāpana pākahi, inā he pono ke kālailai ʻana i kahi pou ma kahi ʻoihana pūnaewele a i ʻole e hōʻiliʻili i ka ʻikepili i mea e hana ai ma hope. ʻO nā ʻōlelo maʻamau he mea kōkua hilinaʻi i kēia mea.

Hāʻawi lākou iā ʻoe e hana i nā hana e like me:

  1. E wehewehe ana i ke ʻano o ka ʻikepili, e like me ka leka uila a i ʻole ka helu kelepona.
  2. E kiʻi i kahi kaula a e māhele ana i mau kaula liʻiliʻi.
  3. Hana i nā hana like ʻole me ka kikokikona, e like me ka ʻimi ʻana, ka unuhi ʻana i ka ʻike e pono ai, a i ʻole ke pani ʻana i kahi ʻāpana o nā huaʻōlelo.

ʻAe nā ʻōlelo maʻamau iā ʻoe e hana i nā hana non-trivial. I ka nānā mua ʻana, ʻaʻole maʻalahi ke aʻo ʻana i kēia ʻepekema. Akā i ka hoʻomaʻamaʻa, ua hoʻohālikelike ʻia nā mea āpau, no laila ua lawa ia e noʻonoʻo i hoʻokahi manawa, a laila hiki ke hoʻohana ʻia kēia hāmeʻa ʻaʻole wale ma Python, akā i nā ʻōlelo hoʻolālā ʻē aʻe. Hoʻohana ʻo Excel i nā ʻōlelo maʻamau e hoʻokaʻawale i ka hoʻoili ʻikepili. No laila he hewa ke hoʻohana ʻole i kēia mea hana.

Waiho i ka Reply