የRegex ፈታሽ

የጃቫስክሪፕት መደበኛ መግለጫዎችን በናሙና ጽሑፍ ላይ በቀጥታ በብሮውዘርዎ ውስጥ ይፈትሹ።

ንድፍ (Pattern)
ፍላጎች
የመፈተኛ ሕብረ-ቁምፊ
ደማቅ ተዛማጆች
ለመፈተሽ ንድፍ ያስገቡ።

የእርስዎ ንድፍ እና ጽሑፍ በብሮውዘርዎ ውስጥ ይፈተናሉ። ምንም ነገር ወደ BroBroGo አይጫንም።

በተደጋጋሚ የሚነሱ ጥያቄዎች

ጽሑፌን እዚህ መለጠፍ ደህንነቱ የተጠበቀ ነው?

አዎ። ማዛመድ ሙሉ በሙሉ በብሮውዘርዎ ውስጥ ነው የሚከናወነው — ምንም ነገር ወደ BroBroGo አይላክም።

የ g/i/m/s ፍላጎች ምን ማለት ናቸው?

g ከመጀመሪያው ብቻ ሳይሆን እያንዳንዱን ተዛማጅ ያገኛል። i የፊደላትን መጠን (case) ችላ ይላል። m የ ^ እና $ ምልክቶች ሙሉውን ሕብረ-ቁምፊ ብቻ ሳይሆን የእያንዳንዱን መስመር መጀመሪያ እና መጨረሻ እንዲያዛምዱ ያደርጋል። s ደግሞ . ምልክት አዲስ መስመርንም እንዲያዛምድ ያስችላል።

ንድፌ በጣም ረጅም ጊዜ እየወሰደ ነው ያለው ለምንድን ነው?

አንዳንድ ንድፎች አስከፊ የኋሊት ፍለጋን (catastrophic backtracking) ያስከትላሉ — ሞተሩ ከመተዉ በፊት እጅግ በጣም ብዙ ጥምረቶችን ይሞክራል፣ ይህም የብሮውዘር ታብን ሊያቆም ይችላል። ይህ መሣሪያ ይህ ከተከሰተ ከ2 ሰከንድ በኋላ ማዛመዱን ይሰርዛል፣ ስለዚህ ገጹ ራሱ መቼም አይቆምም። እንደ (a+)+ ያሉ የተደራረቡ ድግግሞሾችን ለማቅለል ይሞክሩ።

የጃቫስክሪፕት መደበኛ መግለጫዎች እና ጥቅማቸው

መደበኛ መግለጫዎች (Regular Expressions ወይም በአጭሩ Regex) በጽሑፍ ውስጥ የተወሰኑ የቁምፊ ቅጦችን ለመፈለግ፣ ለማዛመድ እና ለማስተካከል የሚያገለግሉ ኃይለኛ መሣሪያዎች ናቸው። በድር ልማት (web development) ውስጥ የግብዓት ትክክለኛነትን ለማረጋገጥ፣ የተወሰኑ መረጃዎችን ፈልጎ ለማውጣት እና ጽሑፎችን ለመተካት በስፋት ጥቅም ላይ ይውላሉ።

ይህ የRegex ፈታሽ መሣሪያ የጃቫስክሪፕት መደበኛ መግለጫዎችን በናሙና ጽሑፍ ላይ በቀጥታ በብሮውዘርዎ ውስጥ ለመፈተሽ ያገለግላል። መሣሪያው እያንዳንዱን ተዛማጅ (match) እና የቁጥጥር ቡድን (capture group) ወዲያውኑ በደማቅ ሁኔታ በማሳየት፣ መደበኛ መግለጫዎ ከተለያዩ ግብዓቶች ጋር እንዴት እንደሚሠራ ለመረዳት ይረዳል።

የመሣሪያው ግብዓቶች እና አጠቃቀም

መሣሪያውን ለመጠቀም የሚከተሉትን ግብዓቶች ማቅረብ ያስፈልጋል፦

  • ንድፍ (Pattern)፦ ለመፈተሽ የሚፈልጉት መደበኛ መግለጫ። ለምሳሌ ያህል \d+ የሚለውን የናሙና ንድፍ መጠቀም ይቻላል።
  • ፍላጎች፦ የፍለጋ ባህሪውን ለመወሰን የሚረዱ አማራጮች ሲሆኑ የሚከተሉትን ያካትታሉ፦
    • g (Global)፦ ከመጀመሪያው ብቻ ሳይሆን እያንዳንዱን ተዛማጅ ያገኛል።
    • i (Case insensitive)፦ የፊደላትን መጠን (ትልቅ ወይም ትንሽ መሆን) ችላ ይላል።
    • m (Multiline)፦ ^ እና $ ምልክቶች ሙሉውን ሕብረ-ቁምፊ ብቻ ሳይሆን የእያንዳንዱን መስመር መጀመሪያ እና መጨረሻ እንዲያዛምዱ ያደርጋል።
    • s (Dot matches newline)፦ ነጥብ (.) ምልክት አዲስ መስመርንም እንዲያዛምድ ያስችላል።
  • የመፈተኛ ሕብረ-ቁምፊ፦ ንድፍዎን ለመፈተሽ የሚፈልጉበት ጽሑፍ። ለምሳሌ "ንድፍዎን ለመፈተሽ ጽሑፍ እዚህ ይለጥፉ ወይም ይተይቡ" የሚለውን የናሙና ጽሑፍ መጠቀም ይቻላል።

የውጤት አቀራረብ እና የቁጥጥር ቡድኖች

ግብዓቶችን ካስገቡ በኋላ መሣሪያው የሚከተሉትን ውጤቶች ያሳያል፦

  • ደማቅ ተዛማጆች፦ በመፈተኛ ሕብረ-ቁምፊው ውስጥ የተገኙት ተዛማጆች በደማቅ ሁኔታ ተለይተው ይታያሉ።
  • ተዛማጆች፦ የተገኙት ውጤቶች በሙሉ በዝርዝር ይቀመጣሉ። እያንዳንዱ ተዛማጅ በቅንፍ ውስጥ የተቀመጡ የቁጥጥር ቡድኖችን ከያዘ፣ በውጤቱ ላይ እንደ ቡድን {n} (ለምሳሌ ቡድን 1፣ ቡድን 2) ተለይተው ይወጣሉ።
  • ተዛማጆች: {count}፦ የተገኙትን አጠቃላይ የተዛማጆች ብዛት ያሳያል።
  • ቁምፊዎች፦ በጽሑፉ ውስጥ ያሉትን የቁምፊዎች ብዛት ያሳያል።

የአሠራር ደንቦች እና ልዩ ሁኔታዎች

መሣሪያው ትክክለኛና ፈጣን አገልግሎት ለመስጠት የሚከተሉትን ደንቦች ይከተላል፦

  • ምንም ዓይነት ተዛማጅ ካልተገኘ "ምቅም ተዛማጅ የለም።" የሚል መልዕክት ይታያል።
  • የመደበኛ መግለጫው አጻጻፍ ስህተት ካለበት "የተሳሳተ መደበኛ መግለጫ (regular expression)።" የሚል ማስጠንቀቂያ ያሳያል።
  • አንድ ንድፍ ለማሄድ ከ2 ሰከንድ በላይ የሚወስድ ከሆነ፣ መሣሪያው ሂደቱን ያቋርጣል። በዚህ ጊዜ "ይህ ንድፍ ለማሄድ በጣም ረጅም ጊዜ እየወሰደ ነው — እጅግ በጣም ቀርፋፋ ሊሆን ይችላል። እባክዎን ለማቅለል ይሞክሩ።" የሚል ማስጠንቀቂያ ያሳያል። ይህ የሚሆነው ንድፉ አስከፊ የኋሊት ፍለጋ (catastrophic backtracking) የሚያስከትል ሲሆን ነው።
  • የ 'g' (Global) ፍላግ ካልተመረጠ፣ መሣሪያው የመጀመሪያውን ተዛማጅ ብቻ ይመልሳል።
  • የ 'g' (Global) ፍላግ ሲመረጥ፣ መሣሪያው ቢበዛ እስከ 1,000 ተዛማጆችን ብቻ ያገኛል።
  • የ 'g' (Global) ፍላግ ሲመረጥ፣ በውጤት ሰሌዳው ላይ የሚታዩት ካርዶች ብዛት ቢበዛ 100 ብቻ ነው። ከተቀመጠው ገደብ በላይ ተዛማጆች ካሉ "የመጀመሪያዎቹን {max} በማሳየት ላይ።" የሚል ማስታወሻ ይወጣል።
  • "አጽዳ" የሚለውን ቁልፍ በመጫን ሁሉንም ግብዓቶች ማጽዳት ይቻላል፤ በዚህ ጊዜ "ጸድቷል።" የሚል መልዕክት ይታያል።

የግል ሚስጥር ጥበቃ እና መረጃ አያያዝ

የእርስዎ ንድፍ እና ጽሑፍ በብሮውዘርዎ ውስጥ ይፈተናሉ። ምንም ነገር ወደ BroBroGo አይጫንም። ሁሉም የሂደት ተግባራት የሚከናወኑት በተጠቃሚው መሣሪያ ላይ ብቻ ነው።

ተደጋግመው የሚነሱ ጥያቄዎች (FAQ)

ጽሑፌን እዚህ መለጠፍ ደህንነቱ የተጠበቀ ነው?
አዎ። ማዛመድ ሙሉ በሙሉ በብሮውዘርዎ ውስጥ ነው የሚከናወነው — ምንም ነገር ወደ BroBroGo አይላክም።

የ g/i/m/s ፍላጎች ምን ማለት ናቸው?
g ከመጀመሪያው ብቻ ሳይሆን እያንዳንዱን ተዛማጅ ያገኛል። i የፊደላትን መጠን (case) ችላ ይላል። m የ ^ እና $ ምልክቶች ሙሉውን ሕብረ-ቁምፊ ብቻ ሳይሆን የእያንዳንዱን መስመር መጀመሪያ እና መጨረሻ እንዲያዛምዱ ያደርጋል። s ደግሞ. ምልክት አዲስ መስመርንም እንዲያዛምድ ያስችላል።

ንድፌ በጣም ረጅም ጊዜ እየወሰደ ነው ያለው ለምንድን ነው?
አንዳንድ ንድፎች አስከፊ የኋሊት ፍለጋን (catastrophic backtracking) ያስከትላሉ — ሞተሩ ከመተዉ በፊት እጅግ በጣም ብዙ ጥምረቶችን ይሞክራል፣ ይህም የብሮውዘር ታብን ሊያቆም ይችላል። ይህ መሣሪያ ይህ ከተከሰተ ከ2 ሰከንድ በኋላ ማዛመዱን ይሰርዛል፣ ስለዚህ ገጹ ራሱ መቼም አይቆምም። እንደ (a+)+ ያሉ የተደራረቡ ድግግሞሾችን ለማቅለል ይሞክሩ።