Contents
- Nā ʻōlelo maʻamau: he hoʻolauna
- Loaʻa ka ʻike kaʻawale mai nā kaula like ʻole me ka hoʻohana ʻana i nā ʻōlelo maʻamau
- Ke ʻimi nei i nā pāʻani me ʻekolu mau hana
- Ke hoʻololi nei i kahi ʻāpana kikokikona me ka waihona Re
- He aha nā hui hōʻike maʻamau?
- ʻO ka manaʻo o ka pili ʻana i ka "makemake".
- Nā Papahana Hōʻike Kūlana Nui
- Panina
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:
- Nā polokalamu pūnaewele e pono ai ka hōʻoia kikokikona. ʻO kahi laʻana maʻamau nā mea kūʻai leka uila.
- ʻ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:
- kāhea i kahi hana hoʻokaʻawale hou.
- 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 IKE ʻ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.
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:
- E wehewehe ana i ke ʻano o ka ʻikepili, e like me ka leka uila a i ʻole ka helu kelepona.
- E kiʻi i kahi kaula a e māhele ana i mau kaula liʻiliʻi.
- 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.