Regex ƒe sɔsɔwo katã didi nye O(n2) ɣesiaɣi.
Nyaŋuɖoɖowo
Mewayz Team
Editorial Team
Ga si Woɣla ɖe Kpɔɖeŋu ƒe Sɔsɔ Ŋu
Le dɔwɔlawo gome la, nyagbɔgblɔ siwo wozãna edziedzi (regex) nye dɔwɔnu si hiã vevie, Switzerland Asrafowo ƒe hɛ si wotsɔna ɖea nyatakakawo me, tsɔa wo ɖoa kpe wo dzi, eye woɖea nyatakakawo tso nuŋɔŋlɔ me. Tso e-mail ƒe nɔnɔmewo me toto dzi va ɖo nyatakakawo ɖeɖeɖa tso nuŋlɔɖiwo me dzi la, regex nye egbɔkpɔnu si dzi woayi. Gake le ŋgɔgbekpa sẽŋu sia te la, dɔwɔwɔ ƒe mɔ̃ aɖe si ɖe fu na ɖoɖowo ƒe bla nanewoe nye sia la le: ɣeyiɣi ƒe sesẽtɔ kekeake si nye be woake ɖe nusiwo katã sɔ le ka me ŋue nye O(n2). Ɣeyiɣi ƒe sesẽ sia si le ene me fia be ne ka si wotsɔ de eme la le tsitsim le fli me la, dɔwɔwɔ ƒe ɣeyiɣia ate ŋu adzi ɖe edzi ŋutɔ, si ahe blewu si womele mɔ kpɔm na o, nunɔamesiwo ƒe ɖeɖiteameŋu, kple nudzɔdzɔ aɖe si woyɔna be ReDoS (Regular Expression Denial of Service) vɛ. Seɖoƒe sia si le dzɔdzɔme nu gɔmesese nye afɔɖeɖe gbãtɔ si ana woatu dɔwɔwɔ siwo sesẽ wu eye wowɔa dɔ nyuie wu.
Nukatae Regex nye O(n2) si sɔ kple wo nɔewo? Kuxi si le megbedede ŋu
O(n2) ƒe kuxia ƒe ke le mɔ̃ si regex mɔ̃ xoxo akpa gãtɔ zãna me: megbedede. Ne regex mɔ̃ aɖe, abe esi le Perl, Python, alo Java me ene, dze agbagba be yeadi nusiwo katã ateŋu asɔ la, mewɔa scan na ka la zi ɖeka ko o. Edzroa mɔ vovovowo me. Bu kpɔɖeŋu bɔbɔe aɖe abe `(a+)+b` si wozã ɖe ka si ƒe akpa gãtɔ nye "a" ŋu, abe "aaaaaaaaac" ene. Mɔ̃a tsɔ ŋukeklẽ tsɔa "a"awo katã sɔna kple `a+` gbãtɔ, emegbe wòdzea agbagba be yeawɔ ɖeka kple "b" mamlɛtɔ. Ne edo kpo nu la, egbugbɔna ɖe megbe—eɖea "a" mamlɛtɔ ɖa eye wòtea `+` ƒe agbɔsɔsɔmefianu kpɔ le gotagome ƒuƒoƒoa dzi. Dɔ sia gbugbɔna, si zia mɔ̃a dzi be wòate alesi woate ŋu aƒo "a"-awo nu ƒu ɖe hatsotsowo me ƒe ƒuƒoƒo ɖesiaɖe si ate ŋu adzɔ la kpɔ, si hea nusiwo ate ŋu adzɔ ƒe wowó le ƒuƒoƒo me vɛ. Mɔ siwo dzi wòle be mɔ̃a nato ƒe xexlẽme ateŋu asɔ kple ka ƒe didime ƒe dzogoe ene, eyata O(n2).
- ƒe nyawo
- Greedy Quantifiers: Kpɔɖeŋuwo abe `.*` alo `.+` ɖua nuŋɔŋlɔ geɖe alesi wòanya wɔ le gɔmedzedzea me, si hea megbedede geɖe vɛ ne kpɔɖeŋua ƒe akpa siwo kplɔe ɖo mete ŋu sɔ o.
- Nested Quantifiers: Nyagbɔgblɔwo abe `(a+)+` alo `(a*a*)*` wɔa mɔ siwo dzi woato ama ka si wotsɔ de eme ƒe xexlẽme si le ŋgɔ yim, si dzia dɔwɔwɔ ƒe ɣeyiɣi ɖe edzi ŋutɔ.
- Nɔnɔme siwo me mekɔ o: Ne woateŋu atsɔ ka aɖe asɔ kple wo nɔewo le mɔ geɖe siwo ƒo xlã wo nɔewo nu la, ele be mɔ̃a nalé ŋku ɖe nusiwo ateŋu adzɔ ɖesiaɖe ŋu be wòake ɖe wo katã ŋu.
Xexeme Ŋusẽkpɔɖeamedzi Nyateƒetɔ: Menye Ðeɖekpɔkpɔ Ko
Menye sukudede ƒe nya koe nye esia o. Regex si mewɔa dɔ nyuie o ate ŋu ahe emetsonu sesẽwo vɛ le nuto siwo me wowɔa nu le me. Nyatakakawo ƒe kpeɖodzinana me dzodzro si dze abe ɖe megblẽa nu le ame ŋu o ene ate ŋu ava zu mɔxenu ne wole dɔ wɔm tso faɛl gãwo ŋu alo le dɔ wɔm tso zãla ƒe nyatakaka gbogbo aɖewo ŋu. Nusi do tso eme si me afɔku le wue nye ReDoS ƒe amedzidzedze, afisi dɔwɔla vɔ̃ɖi aɖe naa ka si wowɔ nyuie si hea dɔwɔwɔ vɔ̃ɖitɔ kekeake vɛ le nyatakakadzraɖoƒe ƒe dɔwɔɖoɖo aɖe ƒe regex me, si hea server la nyuie eye wònana ezãla siwo le se nu megate ŋu zãnɛ o. Le asitsahabɔbɔwo gome la, esia gɔmeɖeɖe tẽe nyea dɔmawɔmawɔ, ga si wobu, kple ŋkɔ nyui si gblẽ. Ne wole ɖoɖo sesẽwo tum, vevietɔ esiwo wɔa dɔ tso nyatakaka siwo dzi womeka ɖo o ŋu la, regex ƒe mɔ̃ siawo nyanya nye dedienɔnɔ kple dɔwɔwɔ ƒe agbalẽdzikpɔkpɔ ƒe akpa vevi aɖe.
"Míewɔ ɖoɖowɔɖi ƒe tɔtrɔ sue aɖe ɣeaɖeɣi si to regex vɛ be wòaɖe zãla-dɔwɔla ƒe kawo me. Le agba si sɔ te la, enyo. Gake le ʋuɖoɖo ƒe dzidziɖedzi me la, ehe cascading ƒe kpododonu si ɖe míaƒe API ɖa aɖabaƒoƒo geɖe. Fɔɖila la nye O(n2) regex si míenya kpɔ be ele mía si o." - DevOps ƒe Mɔ̃ɖaŋudɔwɔla Gã aɖe
Nuɖoɖo siwo me nunya le wu tutu kple Mewayz
Ekema, aleke míawɔ ayi ŋgɔ wu mɔxenu vevi sia? Egbɔkpɔnua bia be woatsɔ dɔwɔnu nyuitɔwo kple xɔtuɖaŋu ƒe tiatia siwo me nunya le wu aƒo ƒui. Gbã la, dɔwɔlawo ateŋu azã regex analyzers atsɔ ade dzesi kuxi ƒe nɔnɔmewo eye woagbugbɔ aŋlɔ wo be woawɔ dɔ nyuie wu (e.g., possessive quantifiers alo atomic groups zazã). Le dɔwɔwɔ mamlɛtɔ gome la, akɔntabubu bubuwo li siwo naa kakaɖedzi ɣeyiɣi si le fli me, O(n), hena kpɔɖeŋu ƒe sɔsɔ, togbɔ be womebɔ ɖe agbalẽdzraɖoƒe siwo wozãna ɖaa me o hã.
Afi siae modular business OS abe Mewayz ene naa viɖe ɖedzesi aɖe le. Mewayz na be nàte ŋu ama dɔwɔwɔ veviwo ɖe akpa vovovowo me ahalé ŋku ɖe wo ŋu. Le esi teƒe be dɔwɔwɔ ɖeka nanɔ asiwò afisi regex ɖeka si le blewu ateŋu azu nuwɔametɔ na ɖoɖo bliboa la, àteŋu aɖo microservice tɔxɛ aɖe si ɖe eɖokui ɖe aga hena nyatakakawo me toto kple wo dzi wɔwɔ. Ne dɔwɔwɔ ƒe nya aɖe do mo ɖa la, ele eme eye woate ŋu akpɔ egbɔ evɔ makpɔ ŋusẽ ɖe asitsadɔ bubuwo dzi o. Gawu la, dɔwɔnu siwo wotsɔ léa ŋku ɖe nu ŋu le Mewayz ƒe mɔ̃a me ate ŋu akpe ɖe ŋuwò nàde dzesi dɔmawɔmawɔ nyuie siawo hafi woakpɔ ŋusẽ ɖe wò asisiwo dzi, si atrɔ xaxa si ate ŋu ado mo ɖa wòazu dɔwɔwɔ nyuie si dzi woate ŋu akpɔ. Ne ètu gɔmeɖoanyi si te ŋu trɔna bɔbɔe eye woate ŋu akpɔe dzi la, èkpɔa egbɔ be wò asitsatsa ƒe susuŋudɔwɔwɔ, si me nuŋɔŋlɔwo ŋuti dɔwɔwɔ sesẽ hã le, gakpɔtɔ le dɔ wɔm eye wòte ŋu nɔa te ɖe nɔnɔme sesẽwo nu.
💡 DID YOU KNOW?
Mewayz replaces 8+ business tools in one platform
CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.
Start Free →Nyabiase Siwo Wobiana Enuenu
Gazazã Ɣaɣla si le Kpɔɖeŋu ƒe Sɔsɔ me
Le dɔwɔlawo gome la, nyagbɔgblɔ siwo wozãna edziedzi (regex) nye dɔwɔnu si hiã vevie, Switzerland Asrafowo ƒe hɛ si wotsɔna ɖea nyatakakawo me, tsɔa wo ɖoa kpe wo dzi, eye woɖea nyatakakawo tso nuŋɔŋlɔ me. Tso e-mail ƒe nɔnɔmewo me toto dzi va ɖo nyatakakawo ɖeɖeɖa tso nuŋlɔɖiwo me dzi la, regex nye egbɔkpɔnu si dzi woayi. Gake le ŋgɔgbekpa sẽŋu sia te la, dɔwɔwɔ ƒe mɔ̃ aɖe si ɖe fu na ɖoɖowo ƒe bla nanewoe nye sia la le: ɣeyiɣi ƒe sesẽtɔ kekeake si nye be woake ɖe nusiwo katã sɔ le ka me ŋue nye O(n2). Ɣeyiɣi ene ƒe sesẽ sia fia be ne ka si wotsɔ de eme la le tsitsim le fli me la, dɔwɔwɔ ƒe ɣeyiɣia ate ŋu adzi ɖe edzi le mɔ si nu sẽ nu, si ahe blewu si womele mɔ kpɔm na o, nunɔamesiwo ƒe ɖeɖiteameŋu, kple nudzɔdzɔ aɖe si woyɔna be ReDoS (Regular Expression Denial of Service) vɛ. Seɖoƒe sia si le dzɔdzɔme nu gɔmesese nye afɔɖeɖe gbãtɔ si ana woatu dɔwɔwɔ siwo sesẽ wu eye wowɔa dɔ nyuie wu.
Nukatae Regex nye O(n2) si sɔ kple wo nɔewo? Kuxi si le megbedede ŋu
O(n2) ƒe kuxia ƒe ke le mɔ̃ si regex mɔ̃ xoxo akpa gãtɔ zãna me: megbedede. Ne regex mɔ̃ aɖe, abe esi le Perl, Python, alo Java me ene, dze agbagba be yeadi nusiwo katã ateŋu asɔ la, mewɔa scan na ka la zi ɖeka ko o. Edzroa mɔ vovovowo me. Bu kpɔɖeŋu bɔbɔe aɖe abe `(a+)+b` si wozã ɖe ka si ƒe akpa gãtɔ nye "a" ŋu, abe "aaaaaaaaac" ene. Mɔ̃a tsɔ ŋukeklẽ tsɔa "a"awo katã sɔna kple `a+` gbãtɔ, emegbe wòdzea agbagba be yeawɔ ɖeka kple "b" mamlɛtɔ. Ne edo kpo nu la, egbugbɔna ɖe megbe—eɖea "a" mamlɛtɔ ɖa eye wòtea `+` ƒe agbɔsɔsɔmefianu kpɔ le gotagome ƒuƒoƒoa dzi. Dɔ sia gbugbɔna, si zia mɔ̃a dzi be wòate alesi woate ŋu aƒo "a"-awo nu ƒu ɖe hatsotsowo me ƒe ƒuƒoƒo ɖesiaɖe si ate ŋu adzɔ la kpɔ, si hea nusiwo ate ŋu adzɔ ƒe wowó le ƒuƒoƒo me vɛ. Mɔ siwo dzi wòle be mɔ̃a nato ƒe xexlẽme ateŋu asɔ kple ka ƒe didime ƒe dzogoe ene, eyata O(n2).
Xexeame ƒe Ŋusẽkpɔɖeamedzi Nyateƒetɔ: Menye Ðeɖekpɔkpɔ Ko
Menye sukudede ƒe nya koe nye esia o. Regex si mewɔa dɔ nyuie o ate ŋu ahe emetsonu sesẽwo vɛ le nuto siwo me wowɔa nu le me. Nyatakakawo ƒe kpeɖodzinana me dzodzro si dze abe ɖe megblẽa nu le ame ŋu o ene ate ŋu ava zu mɔxenu ne wole dɔ wɔm tso faɛl gãwo ŋu alo le dɔ wɔm tso zãla ƒe nyatakaka gbogbo aɖewo ŋu. Nusi do tso eme si me afɔku le wue nye ReDoS ƒe amedzidzedze, afisi dɔwɔla vɔ̃ɖi aɖe naa ka si wowɔ nyuie si hea dɔwɔwɔ vɔ̃ɖitɔ kekeake vɛ le nyatakakadzraɖoƒe ƒe dɔwɔɖoɖo aɖe ƒe regex me, si hea server la nyuie eye wònana ezãla siwo le se nu megate ŋu zãnɛ o. Le asitsahabɔbɔwo gome la, esia gɔmeɖeɖe tẽe nyea dɔmawɔmawɔ, ga si wobu, kple ŋkɔ nyui si gblẽ. Ne wole ɖoɖo sesẽwo tum, vevietɔ esiwo wɔa dɔ tso nyatakaka siwo dzi womeka ɖo o ŋu la, regex ƒe mɔ̃ siawo nyanya nye dedienɔnɔ kple dɔwɔwɔ ƒe agbalẽdzikpɔkpɔ ƒe akpa vevi aɖe.
Nuɖoɖo siwo me nunya le wu tutu kple Mewayz
Ekema, aleke míawɔ ayi ŋgɔ wu mɔxenu vevi sia? Egbɔkpɔnua bia be woatsɔ dɔwɔnu nyuitɔwo kple xɔtuɖaŋu ƒe tiatia siwo me nunya le wu aƒo ƒui. Gbã la, dɔwɔlawo ateŋu azã regex analyzers atsɔ ade dzesi kuxi ƒe nɔnɔmewo eye woagbugbɔ aŋlɔ wo be woawɔ dɔ nyuie wu (e.g., possessive quantifiers alo atomic groups zazã). Le dɔwɔwɔ mamlɛtɔ gome la, akɔntabubu bubuwo li siwo naa kakaɖedzi ɣeyiɣi si le fli me, O(n), hena kpɔɖeŋu ƒe sɔsɔ, togbɔ be womebɔ ɖe agbalẽdzraɖoƒe siwo wozãna ɖaa me o hã.
Tu Wò Dɔwɔƒe ƒe OS Egbea
Tso dɔwɔla siwo le wo ɖokui si dzi va ɖo dɔwɔƒewo dzi la, Mewayz naa ŋusẽ asitsaha 138,000+ kple modules 208 siwo wotsɔ wɔ ɖekae. Dze egɔme femaxee, do ŋgɔ ne ètsi.
Wɔ Akɔntabubu Femaxee →Try Mewayz Free
All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.
Get more articles like this
Weekly business tips and product updates. Free forever.
You're subscribed!
Start managing your business smarter today
Join 6,208+ businesses. Free forever plan · No credit card required.
Ready to put this into practice?
Join 6,208+ businesses using Mewayz. Free forever plan — no credit card required.
Start Free Trial →Related articles
Hacker News
The insider trading suspicions looming over Trump's presidency
Apr 20, 2026
Hacker News
Claude Token Counter, now with model comparisons
Apr 20, 2026
Hacker News
Show HN: A lightweight way to make agents talk without paying for API usage
Apr 20, 2026
Hacker News
Show HN: TRELLIS.2 image-to-3D running on Mac Silicon – no Nvidia GPU needed
Apr 20, 2026
Hacker News
Sudo for Windows
Apr 19, 2026
Hacker News
Swiss AI Initiative (2023)
Apr 19, 2026
Ready to take action?
Start your free Mewayz trial today
All-in-one business platform. No credit card required.
Start Free →14-day free trial · No credit card · Cancel anytime