በኃይል መጠይቅ ውስጥ መደበኛ መግለጫዎች (RegExp)

ከመደበኛ አገላለጾች ጋር ​​ቢያንስ በትንሹ የሚያውቁ ከሆነ እነሱን ማስተዋወቅ አያስፈልግዎትም። በርዕሰ ጉዳዩ ላይ በቂ ካልሆኑ መደበኛ አገላለጾች (መደበኛ መግለጫዎች = RegExp = "regexps" = "መደበኛ") ልዩ ቁምፊዎችን እና ደንቦችን በመጠቀም በጽሑፉ ውስጥ አስፈላጊዎቹ ንዑስ ሕብረቁምፊዎች የሚፈለጉበት ቋንቋ ነው. ወይም በሌላ ጽሑፍ ተተካ . ይህ በጣም ኃይለኛ እና የሚያምር መሳሪያ ነው, ከጽሑፍ ጋር ለመስራት ከሌሎች መንገዶች ሁሉ የላቀ የትዕዛዝ ቅደም ተከተል ነው.

ቀላል ማክሮዎችን በመጠቀም ወደ ኤክሴል መደበኛ አገላለጽ ድጋፍን እንዴት ማከል እንደሚችሉ በዝርዝር እና ከህይወት ምሳሌዎች ጋር አስቀድሜ ገልጫለሁ - ይህን ጽሑፍ ካላነበቡ ከመቀጠልዎ በፊት እንዲያነቡት አጥብቄ እመክራለሁ። ብዙ አዳዲስ ነገሮችን ታገኛለህ፣ ዋስትና እሰጣለሁ 🙂

ሆኖም ግን, ጥያቄው ክፍት ሆኖ ይቆያል - በኃይል መጠይቅ ውስጥ መደበኛ አገላለጾችን የመጠቀም ችሎታን እንዴት መጨመር ይቻላል? የኃይል መጠይቅ በራሱ ጥሩ ነው እና በጽሑፍ (መቁረጥ, ማጣበቅ, ማጽዳት, ወዘተ) ብዙ ሊሠራ ይችላል, ነገር ግን በመደበኛ መግለጫዎች ኃይል መሻገር ከቻሉ, ቦምብ ብቻ ነው.

እንደ አለመታደል ሆኖ በኃይል መጠይቅ ውስጥ ከ RegExps ጋር አብሮ ለመስራት ምንም አብሮ የተሰሩ ተግባራት የሉም ፣ እና ኦፊሴላዊ የማይክሮሶፍት እገዛ እና የቴክኒክ ድጋፍ ይህንን ጥያቄ በአሉታዊ መልኩ ይመልሳሉ። ሆኖም ግን, በዚህ ገደብ ዙሪያ አንድ መንገድ አለ 🙂

ዘዴው ምንነት

ዋናው ሀሳብ ለማዋረድ ቀላል ነው።

አብሮ በተሰራው የኃይል መጠይቅ ችሎታዎች ዝርዝር ውስጥ አንድ ተግባር አለ። ድረ ገጽ. በይፋዊው የማይክሮሶፍት እገዛ ጣቢያ ላይ ያለው የዚህ ተግባር መግለጫ እጅግ በጣም አጭር ነው።

በኃይል መጠይቅ ውስጥ መደበኛ መግለጫዎች (RegExp)

ሲተረጎም ይህ ይሆናል፡- “የተከፋፈለውን የኤችቲኤምኤል ሰነድ ይዘቶች ወደ ክፍሎቹ አወቃቀሮች እንዲሁም የሙሉ ሰነድ እና አካሉ ውክልና መለያዎቹ ከተወገዱ በኋላ ይመልሳል። ስለዚህ መግለጫ ፣ በግልጽ።

ብዙውን ጊዜ ይህ ተግባር ጥቅም ላይ የሚውለው መረጃን ከድር ሲያስገቡ ነው እና በራስ-ሰር ይተካል ፣ ለምሳሌ ፣ በትር ላይ ስንመርጥ መረጃ ትእዛዝ ከኢንተርኔት (መረጃ - ከድር). ተግባሩን ድረ-ገጽ እንደ ሙግት እንሰጠዋለን, እና ይዘቱን ወደ እኛ በጠረጴዛዎች መልክ ይመልሳል, ከዚህ በፊት ሁሉንም መለያዎች አጽድቷል.

እርዳታው የማይናገረው ከኤችቲኤምኤል ምልክት ማድረጊያ ቋንቋ በተጨማሪ ነው። ሥራ ድረ ገጽ የጃቫ ስክሪፕት ስክሪፕቶችን ይደግፋል, ይህም አሁን በበይነመረብ ላይ ባሉ ድረ-ገጾች ላይ በሁሉም ቦታ ይገኛል. እና ጃቫ ስክሪፕት, በተራው, ሁልጊዜ ከመደበኛ አገላለጾች ጋር ​​አብሮ መስራት የሚችል እና ለ RegExps አብሮ የተሰሩ ተግባራት አሉት! ስለዚህ በኃይል መጠይቅ ውስጥ መደበኛ አገላለጾችን ተግባራዊ ለማድረግ የድረ-ገጽ ተግባራትን እንደ ሙግት እንደ አንድ ትንሽ የጃቫ ስክሪፕት ፕሮግራም እንደ ሙግት እንመገባለን።

በንጹህ ጃቫስክሪፕት ውስጥ ምን እንደሚመስል

በበይነመረብ ላይ በጃቫ ስክሪፕት ውስጥ ከመደበኛ አገላለጾች ጋር ​​አብሮ ለመስራት ብዙ ዝርዝር ትምህርቶች አሉ (ለምሳሌ ፣ አንድ ፣ ሁለት)።

በአጭሩ እና በቀላል የጃቫ ስክሪፕት ኮድ እንደዚህ ይመስላል።

በኃይል መጠይቅ ውስጥ መደበኛ መግለጫዎች (RegExp)

እዚህ

  • var str = 'ለቋሊማ ሂሳቦች 123 እና 789 ይክፈሉ'; - ተለዋዋጭ ይፍጠሩ ስት እና የምንተነትንበትን ምንጭ ጽሑፍ መድበው።
  • var ጥለት = /d+/gi; - መደበኛ አገላለጽ ይፍጠሩ እና በተለዋዋጭ ውስጥ ያስቀምጡት ንድፍ.

    አገላለጹ የሚጀምረው በጨረፍታ (/) ነው።

    እዚህ ያለው አገላለጽ ራሱ ለምሳሌ ያህል ነው። d+ ለማንኛውም የአሃዞች ቅደም ተከተል ይቆማል.

    ከገለጻው በኋላ ባለው ክፍልፋይ በኩል ተጨማሪ የፍለጋ መለኪያዎች (ማስተካከያዎች) አሉ - በማንኛውም ቅደም ተከተል ሊገለጹ ይችላሉ-

    • g - ዓለም አቀፋዊ ፍለጋ ማለት ነው ፣ ማለትም ግጥሚያ ካገኙ በኋላ ማቆም የለብዎትም ፣ ግን እስከ ጽሁፉ መጨረሻ ድረስ ፍለጋውን ይቀጥሉ። ይህ መቀየሪያ ካልተዋቀረ የእኛ ስክሪፕት የመጀመሪያውን ግጥሚያ ብቻ ይመልሳል (123)
    • i - የደብዳቤዎችን ጉዳይ ግምት ውስጥ ሳያስገባ መፈለግ
    • m - ባለብዙ መስመር ፍለጋ (የምንጩ ጽሑፍ ወደ ብዙ መስመሮች ሲከፋፈል ጥቅም ላይ ይውላል)
  • var ውጤት = str.match (ስርዓተ-ጥለት) .መቀላቀል (';'); - በምንጭ ጽሑፍ ውስጥ ይፈልጉ (ስትበተሰጠው መደበኛ አገላለጽ (ንድፍ) እና ውጤቱን በተለዋዋጭ ያስቀምጡ ውጤት, ትዕዛዙን በመጠቀም ከሴሚኮሎን ጋር በማጣመር መቀላቀል
  • document.write (ውጤት); - የውጤት ተለዋዋጭ ይዘቶችን አሳይ

እንዲሁም በጃቫ ስክሪፕት ውስጥ ያሉ የጽሑፍ ሕብረቁምፊዎች (ከመደበኛ አገላለጾች በስተቀር) በPower Query ወይም VBA ውስጥ እንዳሉት ጥቅሶች ሳይሆን በአዋጅ የተካተቱ መሆናቸውን ልብ ይበሉ።

በውጤቱ ላይ ይህ ስክሪፕት በውጤቱ በምንጭ ጽሑፍ ውስጥ የሚገኙትን ሁሉንም ቁጥሮች ይሰጠናል፡

123, 789

ጃቫ ስክሪፕት አጭር ኮርስ አልቋል፣ ሁላችሁንም አመሰግናለሁ። አመክንዮውን እንደሚያገኙ ተስፋ ያድርጉ 🙂

ይህንን ግንባታ ወደ ሃይል መጠይቅ ለማስተላለፍ ይቀራል።

በኃይል ጥያቄ ውስጥ በመደበኛ አገላለጽ የጽሑፍ ተግባርን ይፈልጉ እና ያውጡ

የሚከተለውን እናደርጋለን።

1. ኤክሴልን ይክፈቱ እና በትሩ ውስጥ አዲስ ባዶ የኃይል መጠይቅ ይፍጠሩ ውሂብ - ውሂብ ያግኙ / ጥያቄ ይፍጠሩ - ከሌሎች ምንጮች - ባዶ ጥያቄ (ውሂብ - ውሂብ ያግኙ / አዲስ መጠይቅ - ከሌሎች ምንጮች - ባዶ መጠይቅ). የድሮ የ Excel 2010-2013 ስሪት እና የኃይል መጠይቅ ካለዎት አብሮገነብ ከሌለዎት ግን እንደ የተለየ ተጨማሪ ተጭኗል ፣ ከዚያ ይህ ሁሉ በትር ላይ ይሆናል የኃይል ጥያቄእና አይደለም መረጃ.

2. በሚከፈተው የጥያቄ አርታኢው ባዶ መስኮት በቀኝ ፓነል ውስጥ የወደፊቱን ተግባራችንን ስም ያስገቡ (ለምሳሌ ፣ fxRegExpExtract)

በኃይል መጠይቅ ውስጥ መደበኛ መግለጫዎች (RegExp)

3. ወደ ትሩ እንሂድ እይታ - የላቀ አርታዒ (እይታ - የላቀ አርታዒ), ሙሉውን ኤም-ኮድ ባዶ ጥያቄን እናጠፋለን እና የሱፐርተግባራችንን ኮድ እዚያ እንለጥፋለን:

በኃይል መጠይቅ ውስጥ መደበኛ መግለጫዎች (RegExp)

እጆችዎን ይመልከቱ;

በመጀመሪያው መስመር ተግባራችን ሦስት የጽሑፍ ክርክሮች ይኖሩታል እንላለን። txt - ዋናው ጽሑፍ እየተተነተነ ፣ ሪጅክስ - መደበኛ መግለጫ ዘይቤ; ዴሊም - ውጤቶችን ለማሳየት ገዳቢ ቁምፊ።

በመቀጠል ተግባሩን እንጠራዋለን ድረ ገጽከላይ የተገለጸውን የጃቫ ስክሪፕት ኮድ በመከራከሪያው ውስጥ ይመሰርታል። የእኛን ተለዋዋጭ ክርክሮች በኮዱ ውስጥ ለጥፈው እንተካለን።

ቁርጥራጭ

[ውሂብ]{0}[ልጆች]{0}[ልጆች]{1}[ጽሑፍ]{0}

እኛ ከምንፈልጋቸው ውጤቶች ጋር ወደ ጠረጴዛው ውስጥ "ለመውደቅ" ያስፈልጋል። ነጥቡ ተግባሩ ነው ድረ ገጽ በውጤቱም, የድረ-ገጹን መዋቅር የሚደግሙ በርካታ የጎጆ ጠረጴዛዎችን ያዘጋጃል. ይህ የኤም-ኮድ ቁራጭ ከሌለ ተግባራችን ይህንን ያወጣል፡-

በኃይል መጠይቅ ውስጥ መደበኛ መግለጫዎች (RegExp)

… እና ቃሉን ብዙ ጊዜ ጠቅ ማድረግ አለብን ጠረጴዛ, በተከታታይ በአምዶች ውስጥ በልጆች ላይ በተቀመጡ ጠረጴዛዎች ውስጥ "መውደቅ". ልጆች:

በኃይል መጠይቅ ውስጥ መደበኛ መግለጫዎች (RegExp)

ከዚህ ሁሉ ጥቅስ ይልቅ፣ ወዲያውኑ በተግባራችን ኮድ ውስጥ የትኛውን ጠረጴዛ እና አምድ እንደያዘ እንጠቁማለን።ጽሑፍ) ያስፈልገናል።

እዚህ, በእውነቱ, ሁሉም ምስጢሮች ናቸው. አዝራሩን ለመጫን ይቀራል ጪረሰ በመስኮቱ ውስጥ የላቀ አርታዒ, የእኛን ኮድ አስገባን, እና በጣም ጣፋጭ ወደሆነው መቀጠል ይችላሉ - በሥራ ላይ ተግባራችንን ይሞክሩ.

ጥቂት ምሳሌዎች እዚህ አሉ.

ምሳሌ 1. የመለያ ቁጥሩን እና ቀኑን ከክፍያ መግለጫው ሰርስሮ ማውጣት

የክፍያ መጠየቂያ ደረሰኞችን ቁጥሮች እና ቀኖችን ወደ ተለያዩ ዓምዶች ማውጣት ያለብዎት የክፍያ መግለጫ (ዓላማ) ያለው የባንክ መግለጫ አለን።

በኃይል መጠይቅ ውስጥ መደበኛ መግለጫዎች (RegExp)

ሰንጠረዡን ወደ ኃይል መጠይቅ በመደበኛ መንገድ እንጭነዋለን መረጃ - ከሠንጠረዥ / ክልል (መረጃ - ከቲየሚችል/አርመልአክ).

ከዚያም በተግባራችን በኩል የተሰላ አምድ እንጨምራለን አምድ አክል - ወደ ብጁ ተግባር ይደውሉ (አምድ አክል - ብጁ ተግባርን ጥራ) እና ክርክሮቹን ያስገቡ፡-

በኃይል መጠይቅ ውስጥ መደበኛ መግለጫዎች (RegExp)

እንደ መደበኛ አገላለጽ (ክርክር ሪጅክስ) የምንጠቀመው አብነት፡-

(ደ{3,5}|ደ{2}.መ{2}.መ{4})

… ወደ ሰው ቋንቋ ተተርጉሟል፡- 

ቁጥሮች ከ 3 እስከ 5 አሃዞች (የመለያ ቁጥሮች)

or

የቅጹ ቁርጥራጮች "2-ቢት ቁጥር - ነጥብ - 2-ቢት ቁጥር - ነጥብ - 4-ቢት ቁጥር"፣ ማለትም፣ የቅጹ DD.MM.YYY ቀኖች።

እንደ ገዳይ ቁምፊ (ክርክር ዴሊም) ሴሚኮሎን ያስገቡ።

ጠቅ ካደረጉ በኋላ OK የእኛ አስማታዊ ተግባር በመደበኛ አገላለፃችን መሠረት ሁሉንም የመጀመሪያ መረጃዎችን ይመረምራል እና በተገኙ የክፍያ መጠየቂያዎች ቁጥሮች እና ቀናት አምድ ይፈጥርልናል ።

በኃይል መጠይቅ ውስጥ መደበኛ መግለጫዎች (RegExp)

ትዕዛዙን በመጠቀም በሴሚኮሎን ለመለየት ይቀራል ቤት - የተከፈለ አምድ - በ Delimiter (ቤት - የተከፈለ አምድ - በገዳይ) እና የምንፈልገውን እናገኛለን

በኃይል መጠይቅ ውስጥ መደበኛ መግለጫዎች (RegExp)

ውበት!

ምሳሌ 2፡ የኢሜል አድራሻዎችን ከጽሑፍ ያውጡ

የሚከተለው ሠንጠረዥ እንደ መጀመሪያ ውሂብ አለን እንበል።

በኃይል መጠይቅ ውስጥ መደበኛ መግለጫዎች (RegExp)

… እዚያ የተገኙትን የኢሜይል አድራሻዎች ማውጣት ካለብንበት ቦታ (ለግልጽነት፣ በጽሁፉ ላይ በቀይ ገለጽኳቸው)።

ልክ እንደ ቀድሞው ምሳሌ, በመደበኛ መንገድ ሰንጠረዡን ወደ Power Query እንጭነዋለን መረጃ - ከሠንጠረዥ / ክልል (መረጃ - ከቲየሚችል/አርመልአክ).

ከዚያም በተግባራችን በኩል የተሰላ አምድ እንጨምራለን አምድ አክል - ወደ ብጁ ተግባር ይደውሉ (አምድ አክል - ብጁ ተግባርን ጥራ) እና ክርክሮቹን ያስገቡ፡-

በኃይል መጠይቅ ውስጥ መደበኛ መግለጫዎች (RegExp)

የኢሜል አድራሻዎችን መተንተን የበለጠ ከባድ ስራ ነው እና እሱን ለመፍታት የተለያዩ የቅዠት ደረጃዎች ብዙ መደበኛ መግለጫዎች አሉ። ከቀላል አማራጮች ውስጥ አንዱን ተጠቀምኩ - ተስማሚ አይደለም ፣ ግን በአብዛኛዎቹ ጉዳዮች በጣም እየሰራ ነው።

[w|.|-]*@w*.[w|.]*

እንደ መለያ (መለያ)ዴሊም) ሴሚኮሎን እና ቦታ ማስገባት ይችላሉ።

ጠቅ አድርግ OK እና ከዋናው ጽሑፍ “ገንፎ” የወጣ የኢሜል አድራሻ ያለው አምድ እናገኛለን፡-

በኃይል መጠይቅ ውስጥ መደበኛ መግለጫዎች (RegExp)

አስማት!

PS

“ከዚህ በላይ ሊሻሻል የማይችል ጥሩ ነገር የለም” እንደተባለው። የኃይል መጠይቅ በራሱ አሪፍ ነው, እና ከመደበኛ አገላለጾች ጋር ​​ሲጣመር, ማንኛውንም የጽሁፍ ውሂብን ለማስኬድ ሙሉ ለሙሉ የማይጨበጥ ኃይል እና ተለዋዋጭነት ይሰጠናል. ማይክሮሶፍት በPower Query እና Power BI ዝመናዎች ውስጥ የ RegExp ድጋፍን እንደሚጨምር ተስፋ አደርጋለሁ እና ሁሉም ከላይ ያሉት ዳንሶች በከበሮ የሚጫወቱት ያለፈ ነገር ይሆናል። ደህና, ለአሁን, አዎ.

እኔ ደግሞ በጣቢያው https://regexr.com/ ላይ በመደበኛ አገላለጾች መጫወት ምቹ መሆኑን ማከል እፈልጋለሁ - በቀጥታ በመስመር ላይ አርታኢ ውስጥ። እዚያ ክፍል ውስጥ የማህበረሰብ ቅጦች ለሁሉም አጋጣሚዎች በጣም ብዙ ዝግጁ የሆኑ መደበኛ ወቅቶች አሉ። ሙከራ - ሁሉም የመደበኛ መግለጫዎች ኃይል አሁን በኃይል ጥያቄ ውስጥ በአገልግሎትዎ ላይ ነው!

  • መደበኛ መግለጫዎች (RegExp) ምንድን ናቸው እና በ Excel ውስጥ እንዴት እንደሚጠቀሙባቸው
  • በኃይል መጠይቅ ውስጥ ደብዛዛ የጽሑፍ ፍለጋ
  • የኃይል መጠይቅን በመጠቀም ሰንጠረዦችን ከተለያዩ ፋይሎች መሰብሰብ

መልስ ይስጡ