ኩሎም ናይ regex ምትእስሳራት ምርካብ ኩሉ ግዜ O(n2) እዩ ነይሩ።
ርእይቶታት
Mewayz Team
Editorial Team
ሕቡእ ወጻኢታት ምትእስሳር ቅዲ
ንደቨሎፐራት፡ ስሩዕ መግለጺታት (regex) መተካእታ ዘይብሉ መሳርሒ ኮይኑ፡ ካብ ጽሑፍ ሓበሬታ ንምትንታን፡ ንምርግጋጽን ንምውጻእን ዝሕግዝ ካራ ሰራዊት ስዊዘርላንድ እዩ። ካብ ምፍታሽ ቅርጽታት ኢመይል ክሳብ ዳታ ካብ ሎግ ምሕራር፡ regex እቲ ዝኸይድ ፍታሕ እዩ። ይኹን እምበር ኣብ ትሕቲ እዚ ሓያል ቅድመ-ገጽ ንዓሰርተታት ዓመታት ንስርዓታት ዘሳቐየ ናይ ኣፈጻጽማ መጻወድያ ኣሎ: እቲ ዝኸፍአ ናይ ግዜ ውስብስብነት ኩሎም ምትእስሳራት ኣብ ሓደ ሕብረ-ቁጽሪ ምርካብ O(n2) እዩ። እዚ ርብዒታዊ ናይ ግዜ ውስብስብነት ማለት እቲ እታው ሕብረ-ቁጽሪ ብመስመራዊ መንገዲ እናዓበየ ምስ ከደ፡ እቲ ናይ መስርሕ ግዜ ብዝለዓለ ደረጃ ክዓቢ ይኽእል፡ እዚ ድማ ናብ ዘይተጸበናዮ ምዝሕሓል፡ ምድኻም ጸጋታትን ብReDoS (Regular Expression Denial of Service) ዝፍለጥ ተርእዮን የስዕብ። ነዚ ባህርያዊ ድሩትነት ምርዳእ ዝያዳ ድልዱልን ስሉጥን ኣፕሊኬሽናት ንምህናጽ ዝወስድ ቀዳማይ ስጉምቲ እዩ።
Regex Matching O(n2) ንምንታይ እዩ? ጸገም ንድሕሪት ምምላስ
ሱር ናይቲ O(n2) ዝተሓላለኸነት ኣብቲ መብዛሕትኦም ባህላውያን ሞተር ረጀክስ ዝጥቀሙሉ ኣገባብ እዩ ዝርከብ፡ ንድሕሪት ምምላስ። ሓደ ሞተር ረጀክስ ከምቲ ኣብ ፐርል፡ ፓይቶን ወይ ጃቫ ዘሎ፡ ኩሉ ክኸውን ዝኽእል ምትእስሳር ክረክብ ክፍትን ከሎ፡ ነቲ ሕብረ-ቁጽሪ ሓንሳብ ጥራይ ኣይስካንን እዩ። ዝተፈላለየ መንገድታት ይድህስስ። ከም `(a+)+b` ዝኣመሰለ ቀሊል ቅዲ ኣብ መብዛሕትኡ "a"s ዘለዎ ሕብረ-ቁጽሪ ከም "aaaaaaaaac" ዝተተግበረ ንርአ። እቲ ሞተር ብስስዐ ንኹሎም "a"s ምስቲ ቀዳማይ `a+` የሰማምዖም፣ ድሕሪኡ ምስቲ ናይ መወዳእታ "b" ከመዓራርዮም ይፍትን። ምስ ዝፈሽል ንድሕሪት ይምለስ-ነታ ናይ መወዳእታ "a" ከይተመዓራረየን ነቲ `+` quantifier ኣብቲ ደጋዊ ጉጅለ ይፍትን። እዚ መስርሕ እዚ ይደጋገም፣ ሞተር ኩሉ ዝከኣል ውህደት ናይቲ "a"s ከመይ ክጥርነፉ ከም ዝኽእሉ ክፍትን የገድዶ፣ እዚ ድማ ናብ ውህደት ፍንጀራ ተኽእሎታት ይመርሕ። ሞተር ክድህስሶም ዘለዎ ብዝሒ መንገድታት ምስ ርብዒ ንውሓት ሕብረ-ቁጽሪ ተመጣጣኒ ክኸውን ይኽእል እዩ፣ ስለዚ O(n2).
- ዝብል ጽሑፍ ኣሎ።
- ስሱዓት ቁጽሪ ዝህቡ: ከም `.*` ወይ `.+` ዝኣመሰሉ ቅጥዕታት ኣብ መጀመርታ ብዝተኻእለ መጠን ብዙሕ ጽሑፍ ይበልዑ፣ እዚ ድማ ስዒቦም ዝመጹ ክፋላት ናይቲ ቅዲ ክሰማምዑ ምስ ዘይክእሉ ናብ ሰፊሕ ንድሕሪት ምምላስ የስዕብ።
- Nested Quantifiers: ከም `(a+)+` ወይ `(a*a*)*` ዝኣመሰሉ መግለጺታት ነቲ ምእታው ሕብረ-ቁጽሪ ንምምቃል ብዝሒ ዘለዎም መገድታት ይፈጥሩ፣ እዚ ድማ ናይ መስርሕ ግዜ ብዓቢኡ ይውስኽ።
- ዘይንጹር ቅጥዕታት፡ ሓደ ሕብረ-ቁጽሪ ብብዙሕ ተደራራቢ መንገዲ ክመዓራረ ኣብ ዝኽእለሉ እዋን፡ ሞተር ኩሉ ምትእስሳር ንምርካብ ነፍሲ ወከፍ ተኽእሎ ክምርምር ኣለዎ።
ጽልዋ ሓቀኛ ዓለም፡ ካብ ምዝሕሓል ንላዕሊ
እዚ ኣካዳሚያዊ ስክፍታ ጥራይ ኣይኮነን። ዘይብቑዕ ረገክስ ኣብ ናይ ምፍራይ ሃዋህው ከቢድ ሳዕቤን ክህልዎ ይኽእል። ዘይጎድእ ዝመስል ምጽራይ ዳታ ምጽራይ ዓበይቲ ፋይላት ኣብ ምምስራሕ ወይ ልዑል መጠን እታው ተጠቃሚ ኣብ እትሕዘሉ እዋን ዕንቅፋት ክኸውን ይኽእል። እቲ ኣዝዩ ሓደገኛ ውጽኢት መጥቃዕቲ ReDoS ኮይኑ፡ ሓደ ጐዳኢ ተዋሳኣይ ኣብ ሪጀክስ ናይ ሓደ ዌብ ኣፕሊኬሽን ዝኸፍአ ኣፈጻጽማ ዘበግስ ብጥንቃቐ ዝተሰርሐ ሕብረ-ቁጽሪ ብምቕራብ፡ ነቲ ሰርቨር ብኣድማዒ መንገዲ ተንጠልጢሉ ንሕጋውያን ተጠቀምቲ ከምዘይርከብ ይገብሮ። ንንግዳዊ ትካላት እዚ ብቐጥታ ናብ ምቁራጽ ግዜ፡ ዝጠፍአ ኣታዊን ዝተበላሸወ ዝናን ይትርጎም። ዝተሓላለኹ ስርዓታት ክትሃንጽ ከለኻ፡ ብፍላይ ድማ እቶም ዘይእመን ዳታ ዘሰላስሉ፡ ነዞም ናይ ረጀክስ መጻወድያታት ምፍላጥ ወሳኒ ኣካል ናይ ድሕነትን ኣፈጻጽማን ኦዲት እዩ።
"ሓደ እዋን ንእሽቶ ናይ ውቅር ምዕባለ ነይሩና፡ እዚ ድማ ንተጠቃሚ-ወኪል ሕብረ-ቁጽሪ ንምትንታን regex ኣተኣታትዩ። ኣብ ትሕቲ ንቡር ጽዕነት፡ ጽቡቕ ነይሩ። ኣብ እዋን ትራፊክ ስፓይክ ግን፡ ንኤፒኣይና ንደቓይቕ ዘውርድ ካስኬዲንግ ውድቀት ኣስዒቡ። እቲ ገበነኛ ከም ዘለና ፈጺምና ዘይንፈልጦ O(n2) regex እዩ ነይሩ።" - ላዕለዋይ መሃንድስ DevOps
ብመዋይዝ ብልሒ ዘለዎም ስርዓታት ምህናጽ
እሞ፡ ካብዚ መሰረታዊ ደረት ብኸመይ ንሰግር? እቲ መፍትሒ ዝሓሸ መሳርሕታትን በሊሕ ምርጫታት ስነ ህንጻን ውህደት ዘጠቓልል እዩ። ቀዳማይ፡ ዲቨሎፐራት ንጸገማዊ ቅዲታት ንምልላይን ዝያዳ ውጽኢታዊ ንኽኾኑ ዳግማይ ንምጽሓፍን (ንኣብነት፡ ዋንነት ዘለዎም ቁጽሪ ወይ ኣቶሚክ ጉጅለታት ብምጥቃም) ረጀክስ ተንተንቲ ክጥቀሙ ይኽእሉ። ንናይ መወዳእታ ኣፈጻጽማ፡ ኣብ መደበኛ ቤተ-መጻሕፍቲ ውሑድ እኳ እንተኾነ፡ ንመስመራዊ ግዜ፡ O(n)፡ ንመስመራዊ ግዜ፡ O(n)፡ ውሕስነት ዝህቡ ኣማራጺ ኣልጎሪዝማት ኣለዉ።
እዚ እዩ ከም መዋይዝ ዝኣመሰለ ሞዱላር ቢዝነስ ኦኤስ ርኡይ ብልጫ ዝህበሉ። መዋይዝ ንኣገደስቲ መስርሓት ክትከፋፈልን ክትከታተልን የኽእለካ። ኣብ ክንዲ ሓደ ስሉጥ ረጀክስ ንብምሉኡ እቲ ስርዓት ስንኩል ክገብሮ ዝኽእል ሞኖሊቲክ ኣፕሊኬሽን ምህላው፡ ንዳታ ፓርሲንግን ምርግጋጽን ውፉይን ዝተነጸለን ማይክሮሰርቪስ ከተዋፍር ትኽእል። ናይ ኣፈፃፅማ ጉዳይ እንተተላዒሉ ንኻልኦት ንግዳዊ ስርሓት ከይፀለወ ተዓዚቡን ክፍታሕ ይኽእልን። ካብዚ ሓሊፉ፡ ኣብ ውሽጢ መድረኽ መዋይዝ ዝርከቡ ናይ ትዕዝብቲ መሳርሒታት፡ ነዞም ዘይብቕዓት ቅድሚ ንዓማዊልካ ጽልዋ ምፍጣሮም፡ ንኽትፈልጦም ክሕግዙኻ ይኽእሉ፡ እዚ ድማ ነቲ ክመጽእ ዝኽእል ቅልውላው ናብ ዝመሓደር ናይ ምምሕያሽ ዕማም ይቕይሮ። ኣብ ተዓጻጻፍን ክትዕዘብን ዝኽእል መሰረት ብምህናጽ፡ ዝተሓላለኸ መስርሕ ጽሑፍ ሓዊሱ ንግዳዊ ስነ-መጐትካ፡ ኣፈጻጽማን ተጻዋርን ኮይኑ ከም ዝቕጽል ትረጋግጽ።
💡 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 →ብተደጋጋሚ ዝሕተቱ ሕቶታት
ሕቡእ ወጻኢታት ምትእስሳር ቅዲ
ንደቨሎፐራት፡ ስሩዕ መግለጺታት (regex) መተካእታ ዘይብሉ መሳርሒ ኮይኑ፡ ካብ ጽሑፍ ሓበሬታ ንምትንታን፡ ንምርግጋጽን ንምውጻእን ዝሕግዝ ካራ ሰራዊት ስዊዘርላንድ እዩ። ካብ ምፍታሽ ቅርጽታት ኢመይል ክሳብ ዳታ ካብ ሎግ ምሕራር፡ regex እቲ ዝኸይድ ፍታሕ እዩ። ይኹን እምበር ኣብ ትሕቲ እዚ ሓያል ቅድመ-ገጽ ንዓሰርተታት ዓመታት ንስርዓታት ዘሳቐየ ናይ ኣፈጻጽማ መጻወድያ ኣሎ: እቲ ዝኸፍአ ናይ ግዜ ውስብስብነት ኩሎም ምትእስሳራት ኣብ ሓደ ሕብረ-ቁጽሪ ምርካብ O(n2) እዩ። እዚ ርብዒታዊ ናይ ግዜ ዝተሓላለኸነት ማለት እቲ እታው ሕብረ-ቁጽሪ ብመስመራዊ መንገዲ እናዓበየ ምስ ከደ፡ እቲ ናይ መስርሕ ግዜ ብዝለዓለ ደረጃ ክዓቢ ይኽእል እዩ፡ እዚ ድማ ናብ ዘይተጸበናዮ ምዝሕሓል፡ ምድኻም ጸጋታትን ብReDoS (Regular Expression Denial of Service) ዝፍለጥ ተርእዮን የስዕብ። ነዚ ባህርያዊ ድሩትነት ምርዳእ ዝያዳ ድልዱልን ስሉጥን ኣፕሊኬሽናት ንምህናጽ ዝወስድ ቀዳማይ ስጉምቲ እዩ።
Regex Matching O(n2) ንምንታይ እዩ? ጸገም ንድሕሪት ምምላስ
ሱር ናይቲ O(n2) ዝተሓላለኸነት ኣብቲ መብዛሕትኦም ባህላውያን ሞተር ረጀክስ ዝጥቀሙሉ ኣገባብ እዩ ዝርከብ፡ ንድሕሪት ምምላስ። ሓደ ሞተር ረጀክስ ከምቲ ኣብ ፐርል፡ ፓይቶን ወይ ጃቫ ዘሎ፡ ኩሉ ክኸውን ዝኽእል ምትእስሳር ክረክብ ክፍትን ከሎ፡ ነቲ ሕብረ-ቁጽሪ ሓንሳብ ጥራይ ኣይስካንን እዩ። ዝተፈላለየ መንገድታት ይድህስስ። ከም `(a+)+b` ዝኣመሰለ ቀሊል ቅዲ ኣብ መብዛሕትኡ "a"s ዘለዎ ሕብረ-ቁጽሪ ከም "aaaaaaaaac" ዝተተግበረ ንርአ። እቲ ሞተር ብስስዐ ንኹሎም "a"s ምስቲ ቀዳማይ `a+` የሰማምዖም፣ ድሕሪኡ ምስቲ ናይ መወዳእታ "b" ከመዓራርዮም ይፍትን። ምስ ዝፈሽል ንድሕሪት ይምለስ-ነታ ናይ መወዳእታ "a" ከይተመዓራረየን ነቲ `+` quantifier ኣብቲ ደጋዊ ጉጅለ ይፍትን። እዚ መስርሕ እዚ ይደጋገም፣ ሞተር ኩሉ ዝከኣል ውህደት ናይቲ "a"s ከመይ ክጥርነፉ ከም ዝኽእሉ ክፍትን የገድዶ፣ እዚ ድማ ናብ ውህደት ፍንጀራ ተኽእሎታት ይመርሕ። ሞተር ክድህስሶም ዘለዎ ብዝሒ መንገድታት ምስ ርብዒ ንውሓት ሕብረ-ቁጽሪ ተመጣጣኒ ክኸውን ይኽእል እዩ፣ ስለዚ O(n2).
ጽልዋ ሓቀኛ ዓለም፡ ካብ ምዝሕሓል ንላዕሊ
እዚ ኣካዳሚያዊ ስክፍታ ጥራይ ኣይኮነን። ዘይብቑዕ ረገክስ ኣብ ናይ ምፍራይ ሃዋህው ከቢድ ሳዕቤን ክህልዎ ይኽእል። ዘይጎድእ ዝመስል ምጽራይ ዳታ ምጽራይ ዓበይቲ ፋይላት ኣብ ምምስራሕ ወይ ልዑል መጠን እታው ተጠቃሚ ኣብ እትሕዘሉ እዋን ዕንቅፋት ክኸውን ይኽእል። እቲ ኣዝዩ ሓደገኛ ውጽኢት መጥቃዕቲ ReDoS ኮይኑ፡ ሓደ ጐዳኢ ተዋሳኣይ ኣብ ሪጀክስ ናይ ሓደ ዌብ ኣፕሊኬሽን ዝኸፍአ ኣፈጻጽማ ዘበግስ ብጥንቃቐ ዝተሰርሐ ሕብረ-ቁጽሪ ብምቕራብ፡ ነቲ ሰርቨር ብኣድማዒ መንገዲ ተንጠልጢሉ ንሕጋውያን ተጠቀምቲ ከምዘይርከብ ይገብሮ። ንንግዳዊ ትካላት እዚ ብቐጥታ ናብ ምቁራጽ ግዜ፡ ዝጠፍአ ኣታዊን ዝተበላሸወ ዝናን ይትርጎም። ዝተሓላለኹ ስርዓታት ክትሃንጽ ከለኻ፡ ብፍላይ ድማ እቶም ዘይእመን ዳታ ዘሰላስሉ፡ ነዞም ናይ ረጀክስ መጻወድያታት ምፍላጥ ወሳኒ ኣካል ናይ ድሕነትን ኣፈጻጽማን ኦዲት እዩ።
ብመዋይዝ ብልሒ ዘለዎም ስርዓታት ምህናጽ
እሞ፡ ካብዚ መሰረታዊ ደረት ብኸመይ ንሰግር? እቲ መፍትሒ ዝሓሸ መሳርሕታትን በሊሕ ምርጫታት ስነ ህንጻን ውህደት ዘጠቓልል እዩ። ቀዳማይ፡ ዲቨሎፐራት ንጸገማዊ ቅዲታት ንምልላይን ዝያዳ ውጽኢታዊ ንኽኾኑ ዳግማይ ንምጽሓፍን (ንኣብነት፡ ዋንነት ዘለዎም ቁጽሪ ወይ ኣቶሚክ ጉጅለታት ብምጥቃም) ረጀክስ ተንተንቲ ክጥቀሙ ይኽእሉ። ንናይ መወዳእታ ኣፈጻጽማ፡ ኣብ መደበኛ ቤተ-መጻሕፍቲ ውሑድ እኳ እንተኾነ፡ ንመስመራዊ ግዜ፡ O(n)፡ ንመስመራዊ ግዜ፡ O(n)፡ ውሕስነት ዝህቡ ኣማራጺ ኣልጎሪዝማት ኣለዉ።
ሎሚ ናይ ቢዝነስ ኦኤስካ ሃንጽ
ካብ ነጻ ሞያውያን ክሳብ ትካላት፡ መዋይዝ ን138,000+ ትካላት ንግዲ ብ208 ዝተዋሃሃዱ ሞዱላት ሓይሊ ይህብ። ብነጻ ጀምር፣ ምስ ዓበኻ ኣዕብዮ።
ነጻ ኣካውንት ምፍጣር →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