Excel RegEx උදාහරණ: සූත්‍රවල සාමාන්‍ය ප්‍රකාශන භාවිතා කිරීම

  • මේක Share කරන්න
Michael Brown

අන්තර්ගත වගුව

Excel සූත්‍රවල නිත්‍ය ප්‍රකාශන සඳහා සහය නොදක්වන්නේ මන්දැයි කිසිදා තේරුම් ගත නොහැකිද? දැන්, ඒවා නම් :) අපගේ අභිරුචි ක්‍රියාකාරකම් සමඟින්, ඔබට නිශ්චිත රටාවකට ගැලපෙන නූල් පහසුවෙන් සොයා ගැනීමට, ප්‍රතිස්ථාපනය කිරීමට, උපුටා ගැනීමට සහ ඉවත් කිරීමට හැකිය.

පළමු බැල්මට, Excel ඔබට පෙළ තන්තු සඳහා අවශ්‍ය සියල්ල ඇත. හැසිරවීම්. හ්ම්... සාමාන්‍ය ප්‍රකාශන ගැන කුමක් කිව හැකිද? අපොයි, Excel තුළ ගොඩනඟන ලද Regex කාර්යයන් නොමැත. නමුත් අපට අපේම ඒවා නිර්මාණය කළ නොහැකි යැයි කිසිවෙක් පවසන්නේ නැත :)

    නිත්‍ය ප්‍රකාශනය යනු කුමක්ද?

    සාමාන්‍ය ප්‍රකාශනයක් (aka regex හෝ regexp ) යනු සෙවුම් රටාවක් නිර්වචනය කරන විශේෂයෙන් කේතනය කරන ලද අක්ෂර අනුපිළිවෙලකි. එම රටාව භාවිතා කරමින්, ඔබට තන්තුවක ගැළපෙන අක්ෂර සංයෝජනයක් සොයා ගැනීමට හෝ දත්ත ආදානය වලංගු කිරීමට හැකිය. ඔබ Wildcard අංකනය ගැන හුරුපුරුදු නම්, ඔබට regexes Wildcards හි උසස් අනුවාදයක් ලෙස සිතිය හැක.

    සාමාන්‍ය ප්‍රකාශනවලට විශේෂ අක්ෂර, ක්‍රියාකරුවන් සහ ඉදිකිරීම් වලින් සමන්විත ඔවුන්ගේම වාක්‍ය ඛණ්ඩයක් ඇත. උදාහරණයක් ලෙස, [0-5] 0 සිට 5 දක්වා ඕනෑම තනි ඉලක්කමකට ගැලපේ.

    නිත්‍ය ප්‍රකාශන JavaScript සහ VBA ඇතුළු බොහෝ ක්‍රමලේඛන භාෂා වල භාවිතා වේ. දෙවැන්නෙහි විශේෂ RegExp වස්තුවක් ඇත, එය අපි අපගේ අභිරුචි ශ්‍රිතයන් සෑදීමට භාවිතා කරමු.

    Excel regex සඳහා සහය දක්වයිද?

    කණගාටුවට කරුණක් නම්, Excel තුළ inbuilt Regex ශ්‍රිතයන් නොමැත. ඔබේ සූත්‍රවල සාමාන්‍ය ප්‍රකාශන භාවිත කිරීමට හැකි වීමට, ඔබට ඔබේම පරිශීලක-නිර්වචනය කළ කාර්යයක් (VBA) නිර්මාණය කිරීමට සිදුවේ.තර්ක:

    =IF(RegExpMatch(A5, $A$2), "Yes", "No")

    වැඩිදුර සූත්‍ර උදාහරණ සඳහා කරුණාකර බලන්න:

    • සාමාන්‍ය ප්‍රකාශන භාවිතයෙන් තන්තු ගළපන්නේ කෙසේද
    • regexes සමඟ Excel දත්ත වලංගු කිරීම

    Excel Regex Extract ශ්‍රිතය

    RegExpExtract ශ්‍රිතය සාමාන්‍ය ප්‍රකාශනයකට ගැලපෙන උප තන්තු සොයමින් සියලුම ගැලපීම් උපුටා ගනී නිශ්චිත ගැලපීම.

    RegExpExtract(පෙළ, රටාව, [instance_num], [match_case])

    කොතැනද:

    • පෙළ (අවශ්‍ය) - සෙවීමට පෙළ තන්තුව in.
    • රටාව (අවශ්‍යයි) - ගැළපෙන නිත්‍ය ප්‍රකාශනය.
    • Instance_num (විකල්ප) - කුමන අවස්ථාවද යන්න දැක්වෙන අනුක්‍රමික අංකයකි උපුටා ගැනීම. මඟ හැරියහොත්, සොයාගත් සියලුම ගැළපීම් (පෙරනිමිය) ලබා දෙයි.
    • Match_case (විකල්ප) - (සත්‍ය හෝ මඟ හැරිය) හෝ නොසලකා හැරීම (අසත්‍ය) පෙළ අවස්ථාව නිර්වචනය කරයි.

    ඔබට ශ්‍රිතයේ කේතය මෙතැනින් ලබා ගත හැක.

    උදාහරණය: සාමාන්‍ය ප්‍රකාශන භාවිතයෙන් තන්තු උපුටා ගන්නා ආකාරය

    අපේ උදාහරණය තව ටිකක් ඉදිරියට ගෙන, ඉන්වොයිස් අංක උපුටා ගනිමු. මේ සඳහා, අපි ඕනෑම ඉලක්කම්-7ක අංකයකට ගැළපෙන ඉතා සරල regex භාවිතා කරන්නෙමු:

    රටාව : \b\d{7}\b

    Put A2 හි ඇති රටාව සහ ඔබට මෙම සංයුක්ත හා අලංකාර සූත්‍රය සමඟින් කාර්යය ඉටු වනු ඇත:

    =RegExpExtract(A5, $A$2)

    රටාවක් ගැළපෙන්නේ නම්, ගැළපීමක් සොයාගත නොහැකි නම්, සූත්‍රය ඉන්වොයිස් අංකයක් උපුටා ගනී - කිසිවක් ආපසු ලබා නොදේ.

    වැඩිදුර උදාහරණ සඳහා, කරුණාකර බලන්න: Excel හි නූල් උපුටා ගන්නා ආකාරයregex භාවිතා කරයි.

    Excel Regex Replace ශ්‍රිතය

    RegExpReplace ශ්‍රිතය regex එකකට ගැලපෙන අගයන් ඔබ සඳහන් කරන පාඨය සමඟ ප්‍රතිස්ථාපනය කරයි.

    RegExpReplace(පෙළ, රටාව, ප්‍රතිස්ථාපනය , [instance_num], [match_case])

    කොතැනද:

    • පෙළ (අවශ්‍යයි) - සෙවිය යුතු පෙළ තන්තුව.
    • රටා (අවශ්‍යයි) - ගැළපෙන නිත්‍ය ප්‍රකාශනය.
    • ප්‍රතිස්ථාපනය (අවශ්‍යයි) - ගැළපෙන උපසිරැසි සමඟ ප්‍රතිස්ථාපනය කිරීමට පෙළ.
    • Instance_num (විකල්ප) - ප්‍රතිස්ථාපනය කළ යුතු අවස්ථාව. පෙරනිමිය "සියලු ගැලපීම්" වේ.
    • Match_case (විකල්ප) - ගැළපෙන්නේද (සත්‍ය හෝ මඟ හැරියද) හෝ නොසලකා හැරීම (අසත්‍ය) පෙළ නඩුවද යන්න පාලනය කරයි.

    ශ්‍රිතයේ කේතය මෙහි ඇත.

    උදාහරණ: regexes භාවිතයෙන් නූල් ප්‍රතිස්ථාපනය කරන්නේ හෝ ඉවත් කරන්නේ කෙසේද

    අපගේ සමහර වාර්තාවල ක්‍රෙඩිට් කාඩ් අංක අඩංගු වේ. මෙම තොරතුරු රහසිගත වන අතර, ඔබට එය යමක් ප්‍රතිස්ථාපනය කිරීමට හෝ සම්පූර්ණයෙන්ම මකා දැමීමට අවශ්‍ය විය හැක. RegExpReplace ශ්‍රිතයේ උපකාරයෙන් කාර්යයන් දෙකම ඉටු කළ හැක. කෙසේද? දෙවන අවස්ථාවෙහිදී, අපි හිස් තන්තුවකින් ප්‍රතිස්ථාපනය කරන්නෙමු.

    අපගේ නියැදි වගුවේ, සියලුම කාඩ්පත් අංකවලට ඉලක්කම් 16ක් ඇත, ඒවා හිස්තැන්වලින් වෙන් කර කණ්ඩායම් 4කින් ලියා ඇත. ඒවා සොයා ගැනීමට, අපි මෙම සාමාන්‍ය ප්‍රකාශනය භාවිතයෙන් රටාව අනුකරණය කරමු:

    රටාව : \b\d{4} \d{4} \d{4} \d{4}\ b

    ප්‍රතිස්ථාපනය සඳහා, පහත තන්තුව භාවිතා වේ:

    ප්‍රතිස්ථාපනය : XXXX XXXX XXXXXXXX

    සහ සංවේදී නොවන තොරතුරු සහිත ක්‍රෙඩිට් කාඩ් අංක ප්‍රතිස්ථාපනය කිරීමට සම්පූර්ණ සූත්‍රයක් මෙන්න:

    =RegExpReplace(A5, "\b\d{4} \d{4} \d{4} \d{4}\b", "XXXX XXXX XXXX XXXX")

    regex සහ ප්‍රතිස්ථාපන පෙළ වෙනම කොටු තුළ ( A2 සහ B2), සූත්‍රය සමානව ක්‍රියා කරයි:

    Excel හි, "ඉවත් කිරීම" යනු "ප්‍රතිස්ථාපනය" සඳහා විශේෂිත අවස්ථාවකි. ක්‍රෙඩිට් කාඩ් අංක ඉවත් කිරීමට , ප්‍රතිස්ථාපන තර්කය සඳහා හිස් තන්තුවක් ("") භාවිතා කරන්න:

    =RegExpReplace(A5, "\b\d{4} \d{4} \d{4} \d{4}\b", "")

    ඉඟිය. ප්‍රතිඵලවල හිස් රේඛා සවි කිරීම සඳහා, ඔබට මෙම උදාහරණයේ පෙන්වා ඇති පරිදි වෙනත් RegExpReplace ශ්‍රිතයක් භාවිතා කළ හැක: regex භාවිතයෙන් හිස් රේඛා ඉවත් කරන්නේ කෙසේද.

    වැඩිදුර තොරතුරු සඳහා, කරුණාකර බලන්න:

      24>regex භාවිතයෙන් Excel තුළ නූල් ප්‍රතිස්ථාපනය කරන්නේ කෙසේද
    • regex භාවිතයෙන් නූල් ඉවත් කරන්නේ කෙසේද
    • regexes භාවිතයෙන් whitespace ඉවත් කරන්නේ කෙසේද

    Regex Tools to match, extract , substrings ප්‍රතිස්ථාපනය කිරීම සහ ඉවත් කිරීම

    අපගේ Ultimate Suite හි පරිශීලකයින්ට ඔවුන්ගේ වැඩපොත් තුළ තනි කේත පේළියක් ඇතුළත් නොකර සාමාන්‍ය ප්‍රකාශනවල සියලු බලය ලබා ගත හැක. අවශ්‍ය සියලුම කේතය අපගේ සංවර්ධකයින් විසින් ලියා ඇති අතර ස්ථාපනය අතරතුර ඔබේ Excel තුළ සුමට ලෙස ඒකාබද්ධ වේ.

    ඉහත සාකච්ඡා කර ඇති VBA ශ්‍රිත මෙන් නොව, Ultimate Suite හි කාර්යයන් .NET මත පදනම් වේ, එය ප්‍රධාන වාසි දෙකක් ලබා දෙයි:

    1. ඔබට සාමාන්‍ය .xlsx වැඩපොත්වල කිසිදු VBA කේතයක් එක් නොකර ඒවා සාර්ව-සක්‍රීය ගොනු ලෙස සුරැකීමෙන් තොරව සාමාන්‍ය ප්‍රකාශන භාවිතා කළ හැක.
    2. .NET Regex එන්ජිම සම්පූර්ණ විශේෂාංග සහිත සම්භාව්‍ය සඳහා සහය දක්වයි.සාමාන්‍ය ප්‍රකාශන, ඔබට වඩාත් සංකීර්ණ රටා තැනීමට ඉඩ සලසයි.

    Excel හි Regex භාවිතා කරන්නේ කෙසේද

    Ultimate Suite ස්ථාපනය කර ඇති විට, Excel හි නිත්‍ය ප්‍රකාශන භාවිතා කිරීම මෙම පියවර දෙක තරම්ම සරල ය. :

    1. Ablebits Data ටැබය මත, Text group හි, Regex Tools ක්ලික් කරන්න.

      3>

    2. Regex Tools කවුළුවෙහි, පහත දේ කරන්න:
      • මූලාශ්‍ර දත්ත තෝරන්න.
      • ඔබගේ regex රටාව ඇතුළු කරන්න.
      • අවශ්‍ය විකල්පය තෝරන්න: ගැලපීම , උපුටා ගැනීම , ඉවත් කරන්න හෝ ප්‍රතිස්ථාපනය .
      • ප්‍රතිඵලය ලෙස ලබා ගැනීමට සූත්‍රය සහ අගය නොවේ, සූත්‍රයක් ලෙස ඇතුළු කරන්න සලකුණු කොටුව තෝරන්න.
      • ක්‍රියා බොත්තම ඔබන්න.

      උදාහරණයක් ලෙස, කොටු වලින් ක්‍රෙඩිට් කාඩ් අංක ඉවත් කිරීමට A2:A6, අපි මෙම සැකසීම් වින්‍යාස කරන්නෙමු:

    ට්‍රයිස් එකකින්, ඔබේ මුල් පිටපතේ දකුණට නව තීරුවක AblebitsRegex ශ්‍රිතයක් ඇතුළු කරනු ලැබේ. දත්ත. අපගේ නඩුවේදී, සූත්‍රය වන්නේ:

    =AblebitsRegexRemove(A2, "\b\d{4} \d{4} \d{4} \d{4}\b")

    සූත්‍රය තිබෙන විට, ඔබට ඕනෑම ස්වදේශීය සූත්‍රයක් මෙන් එය සංස්කරණය කිරීමට, පිටපත් කිරීමට හෝ ගෙන යාමට හැකිය.

    3>

    Cell එකකට Regex සූත්‍රයක් සෘජුවම ඇතුළු කරන්නේ කෙසේද

    AblebitsRegex ශ්‍රිතයන් ඇඩෝන අතුරුමුහුණත භාවිතා නොකර සෘජුවම කොටුවකට ඇතුළු කළ හැක. මෙන්න මෙහෙමයි:

    1. සූත්‍ර තීරුවේ fx බොත්තම ක්ලික් කරන්න හෝ සූත්‍ර ටැබය මත Insert Function ක්ලික් කරන්න.
    2. 24> Insert Function සංවාද කොටුව තුළ, AblebitsUDFs තෝරන්න.ප්‍රවර්ගය, රුචිකත්වයේ ශ්‍රිතය තෝරා OK ක්ලික් කරන්න.

    3. ඔබ සාමාන්‍යයෙන් කරන ආකාරයට ශ්‍රිතයේ තර්ක නිර්වචනය කර OK ක්ලික් කරන්න. නිමයි!

    වැඩිදුර තොරතුරු සඳහා, කරුණාකර Excel සඳහා Regex මෙවලම් බලන්න.

    එක්සෙල් සෛල තුළ පෙළ ගැළපීමට, උපුටා ගැනීමට, ප්‍රතිස්ථාපනය කිරීමට සහ ඉවත් කිරීමට සාමාන්‍ය ප්‍රකාශන භාවිත කරන්නේ කෙසේද යන්නයි. කියවීම ගැන මම ඔබට ස්තූතිවන්ත වන අතර ලබන සතියේ අපගේ බ්ලොගයේ ඔබව දැකීමට බලාපොරොත්තු වෙමි!

    ලබාගත හැකි බාගැනීම්

    Excel Regex - සූත්‍ර උදාහරණ (.xlsm ගොනුව)

    Ultimate Suite - අත්හදා බැලීමේ අනුවාදය (.exe ගොනුව)

    හෝ .NET මත පදනම් වූ) හෝ regexes සඳහා සහාය දක්වන තෙවන පාර්ශවීය මෙවලම් ස්ථාපනය කරන්න.

    Excel Regex cheat sheet

    regex රටාවක් ඉතා සරල හෝ අතිශයින් සංකීර්ණ වුවත්, එය ගොඩනගා ඇත්තේ පොදු වාක්‍ය ඛණ්ඩය භාවිතා කරමිනි. මෙම නිබන්ධනය ඔබට නිත්‍ය ප්‍රකාශන ඉගැන්වීම අරමුණු කර නැත. මේ සඳහා, ආරම්භකයින් සඳහා නොමිලේ නිබන්ධනවල සිට උසස් පරිශීලකයින් සඳහා වාරික පාඨමාලා දක්වා බොහෝ සම්පත් මාර්ගගතව ඇත.

    පහත දැක්වෙන්නේ අපි මූලික කරුණු පිළිබඳ අවබෝධයක් ලබා ගැනීමට උපකාරී වන ප්‍රධාන RegEx රටා වෙත ඉක්මන් සඳහනක් සපයන්නෙමු. වැඩිදුර උදාහරණ අධ්‍යයනය කරන විට එය ඔබේ වංචා පත්‍රය ලෙසද ක්‍රියා කළ හැක.

    ඔබට සාමාන්‍ය ප්‍රකාශන සමඟ සැපපහසු නම්, ඔබට කෙලින්ම RegExp ශ්‍රිත වෙත යා හැක.

    චරිත

    මේවා ඇතැම් අනුලකුණුවලට ගැළපීම සඳහා බහුලව භාවිතා වන රටා වේ.

    ට ගැලපේ >>>>>>>>>>>> පහත තන්තුව, බළලුන් 10

    5

    10 බල්ලන්

    රටාව විස්තරය උදාහරණ ගැලපීම්
    . වයිල්ඩ්කාඩ් අක්ෂරය: රේඛා බිඳීමක් හැර ඕනෑම තනි අක්ෂරයකට ගැලපේ .ot dot , උණුසුම් , pot , @ot
    \d සංඛ්‍යා අක්ෂර: ඕනෑම තනි ඉලක්කම් 0 සිට 9 දක්වා \d a1b හි, 1
    \D ඉලක්කම් නොවන ඕනෑම අක්ෂරයක් \D a1b හි, a සහ b<2ට ගැලපේ>
    \s Whitespace චරිතය: අවකාශය, පටිත්ත, නව පේළිය සහ කරත්ත ප්‍රතිලාභය .\s. තුළ 3 ශත , ගැලපීම් 3 c
    \S ඕනෑමසුදු අවකාශ නොවන අක්ෂරය \S+ ශත 30 න්, 30 සහ ශත
    \w වචන අක්ෂරය: ඕනෑම ASCII අකුරක්, ඉලක්කම් හෝ යටි ඉරි \w+ 5_cats*** , ගැලපේ 5_cats
    \W අක්ෂර සංඛ්‍යාත්මක හෝ යටි ඉරක් නොවන ඕනෑම අක්ෂරයක් \W+ 5_cats*** තුළ, ***
    \t Tab
    \ චරිතයක විශේෂ අර්ථයෙන් ගැලවී යයි, එබැවින් ඔබට හැකිය එය සොයන්න \.

    \w+\.

    කාලසීමාවකින් ගැලවී යාම නිසා ඔබට "." තන්තුවක චරිතය

    මහතා , මහත්තයා , මහාචාර්ය>අක්ෂර පන්ති

    මෙම රටා භාවිතයෙන්, ඔබට විවිධ අක්ෂර කට්ටලවල මූලද්‍රව්‍ය ගැලපිය හැක.

    රටාව විස්තරය උදාහරණ ගැළපීම්
    [අක්ෂර] වරහන් තුළ ඇති ඕනෑම තනි අක්ෂරයකට ගැලපේ d[oi]g සුනඛ සහ dig
    [^අක්ෂර] වරහන් තුළ නොමැති ඕනෑම තනි අක්ෂරයකට ගැලපේ d[^oi]g ගැළපීම් dag, dug , d1g

    නොගැලපේ dog සහ dig

    [සිට–දක්වා] අතර පරාසයේ ඕනෑම අක්ෂරයකට ගැලපේවරහන් [0-9]

    [a-z]

    [A-Z]

    0 සිට 9 දක්වා ඕනෑම තනි ඉලක්කමක්

    ඕනෑම තනි කුඩා අකුරක්

    ඕනෑම තනි ලොකු අකුරක්

    Quantifier

    Quantifier යනු ගැළපෙන අක්ෂර ගණන සඳහන් කරන විශේෂ ප්‍රකාශන වේ. ප්‍රමාණාංකකය සැමවිටම එයට පෙර චරිතයට අදාළ වේ.

    ගැලපේ 16>
    රටාව විස්තරය උදාහරණ ගැලපීම්
    * ශුන්‍ය හෝ ඊට වැඩි සිදුවීම් 1a* 1, 1a , 1aa, 1aaa , ආදිය.
    + සිදුවීම් එකක් හෝ කිහිපයක් po+ පොට් , po

    දුප්පත් හි, ගැලපේ poo

    ? >ශුන්‍ය හෝ එක් සිදුවීමක් රෝ හෝ වැඩි සිදුවීම්, නමුත් හැකි තරම් අඩු 1a*? 1a , 1aa සහ 1aaa , ගැලපීම් 1a
    +? සිදුවීම් එකක් හෝ කිහිපයක්, නමුත් හැකි තරම් අඩුවෙන් po+? පොට් සහ දුප්පත් තුළ, po
    ?? ශුන්‍ය හෝ එක් සිදුවීමක් ගැලපේ , නමුත් හැකි තරම් අඩුවෙන් roa?? road සහ rod , ro
    {n} පෙර රටාවට n වාරවලට ගැලපේ \d{3} හරියටම ඉලක්කම් 3
    {n ,} පෙර රටාව n හෝ ඊට වැඩි වාර ගණනක් ගැලපේ \d{3,} 3 හෝ ඊට වැඩි ඉලක්කම්
    {n,m} ගැළපේn සහ m කාල අතර පෙර රටාව \d{3,5} ඉලක්කම් 3 සිට 5 දක්වා

    කාණ්ඩ කිරීම

    ප්‍රභව තන්තුවෙන් උප තන්තුවක් ග්‍රහණය කර ගැනීමට සමූහ ගොඩනැගීම් භාවිතා කරයි, එබැවින් ඔබට එය සමඟ යම් ක්‍රියාවක් කළ හැකිය.

    Syntax විස්තරය උදාහරණ ගැලපීම්
    (රටාව) සමූහය ග්‍රහණය කිරීම: ගැළපෙන උප තන්තුවක් ග්‍රහණය කර එයට සාමාන්‍ය අංකයක් පවරයි (\d+) 5 බළලුන් සහ 10 බල්ලන් තුළ, 5 (1 කාණ්ඩය) සහ 10 (2 කාණ්ඩය)<ග්‍රහණය කරයි 15>
    (?: රටා) අල්ලා නොගන්නා කණ්ඩායම: කණ්ඩායමකට ගැලපෙන නමුත් එය අල්ලා නොගනී (\d+)(?: බල්ලන්) 5 බළලුන් සහ 10 බල්ලන් , 10
    \1 කණ්ඩායමේ අන්තර්ගතය ග්‍රහණය කරයි 1 (\d+)\+(\d+)=\2\+\1 5+10=10+5 ගැලපෙන අතර 5 ග්‍රහණය කරයි සහ 10 , ග්‍රහණය කර ගැනීමේ කණ්ඩායම්
    \2 2 කාණ්ඩයේ අන්තර්ගතය

    නැංගුරම්

    නැංගුරම් සෙවිය යුතු ස්ථානය ආදාන තන්තුවේ සඳහන් කරයි ගැළපීමක් 14>^

    තත්‍රයේ ආරම්භය

    සටහන: [^ඇතුළත වරහන්] යන්නෙන් අදහස් වන්නේ "නොවේ"

    ^\d+ ඉලක්කම්වල ඕනෑම සංඛ්‍යාවක් තන්තුවේ ආරම්භය.

    5 බළලුන් සහ 10 බල්ලන් , ගැලපේ 5

    $ තන්තුවේ අවසානය \d+$ තන්තුවේ අවසානයේ ඕනෑම ඉලක්කම් සංඛ්‍යාවක්.

    10 න්Y

    (?<=) Positive lookbehind (?<=Y)X X ප්‍රකාශනයට ගැලපේ එය Y ට පෙර ඇති විට (එනම් X පිටුපස Y තිබේ නම්) (? Negative lookbehind (? 14>එක්ස් ප්‍රකාශනය Y ට පෙර නොමැති විට ගැලපේ. තන්තු විග්‍රහ කිරීමට සහ අවශ්‍ය තොරතුරු සොයා ගැනීමට සැබෑ දත්ත මත regexes. ඔබට සින්ටැක්ස් ගැන වැඩි විස්තර අවශ්‍ය නම්, සාමාන්‍ය ප්‍රකාශන භාෂාව පිළිබඳ Microsoft මාර්ගෝපදේශය ප්‍රයෝජනවත් විය හැක.

    Excel සඳහා Custom RegEx කාර්යයන්

    දැනටමත් සඳහන් කර ඇති පරිදි, මයික්‍රොසොෆ්ට් එක්සෙල් හි ගොඩනඟන ලද RegEx ශ්‍රිත නොමැත. සාමාන්‍ය ප්‍රකාශන සක්‍රීය කිරීම සඳහා, අපි අභිරුචි VBA ශ්‍රිත තුනක් (පරිශීලක-නිර්වචනය කළ කාර්යයන්) නිර්මාණය කර ඇත. ඔබට පහත සබැඳි පිටුවලින් හෝ අපගේ නියැදියෙන් කේත පිටපත් කළ හැකිය. වැඩපොත, ඉන්පසු ඔබේම Excel ගොනුවල අලවන්න.

    VBA RegExp ක්‍රියාකාරීත්වය ක්‍රියා කරන ආකාරය

    මෙම කොටස අභ්‍යන්තර යාන්ත්‍ර විද්‍යාව පැහැදිලි කරන අතර ඉන්ට් විය හැකිය පසුපස අන්තයේ සිදුවන්නේ කුමක්ද යන්න නිවැරදිව දැන ගැනීමට කැමති අයට eresting.

    VBA හි සාමාන්‍ය ප්‍රකාශන භාවිතා කිරීම ආරම්භ කිරීමට, ඔබ RegEx වස්තු විමර්ශන පුස්තකාලය සක්‍රිය කිරීමට හෝ CreateObject ශ්‍රිතය භාවිතා කිරීමට අවශ්‍ය වේ. VBA සංස්කාරකයේ යොමුව සැකසීමේ ගැටලුව ඔබට සුරැකීමට, අපි අවසාන ප්‍රවේශය තෝරා ගත්තෙමු.

    RegExp වස්තුවෙහි ගුණාංග 4ක් ඇත:

    • රටාව - වේ රටාව ආදාන තන්තුවට ගැළපෙන්න.
    • ගෝලීය - ආදාන තන්තුවේ සියලුම ගැලපීම් සොයා ගන්නේද නැතහොත් පළමු එක පමණක්ද යන්න පාලනය කරයි. අපගේ කාර්යයන් තුළ, සියලු ගැලපීම් ලබා ගැනීම සඳහා එය සත්‍ය ලෙස සකසා ඇත.
    • MultiLine - රේඛා බිඳීම් හරහා රටා ගැළපෙන්නේ බහු-රේඛා නූල්වල හෝ පමණක්ද යන්න තීරණය කරයි. පළමු පේළියේ. අපගේ කේතවල, එය සෑම පේළියකම සෙවීමට සත්‍ය ලෙස සකසා ඇත.
    • ඉග්නෝකේස් - සාමාන්‍ය ප්‍රකාශනයක් සිද්ධි-සංවේදී (පෙරනිමි) හෝ කේස්-ද යන්න නිර්වචනය කරයි. සංවේදී නොවන (සත්‍ය ලෙස සකසා ඇත). අපගේ නඩුවේදී, එය ඔබ විකල්ප match_case පරාමිතිය වින්‍යාස කරන්නේ කෙසේද යන්න මත රඳා පවතී. පෙරනිමියෙන්, සියලුම කාර්යයන් අවස්ථා සංවේදී වේ.

    VBA RegExp සීමාවන්

    Excel VBA අත්‍යවශ්‍ය regex රටා ක්‍රියාත්මක කරයි, නමුත් එයට බොහෝ උසස් විශේෂාංග නොමැත. .NET, Perl, Java, සහ අනෙකුත් regex එන්ජින් වලින් ලබා ගත හැක. උදාහරණයක් ලෙස, VBA RegExp කිහිපයක් නම් කිරීමට (?i) කේස් සංවේදී නොවන ගැලපීම සඳහා හෝ (?m) බහු-රේඛා මාදිලිය, lookbehinds, POSIX පන්ති සඳහා වැනි පේළිගත විකරණයන් සඳහා සහය නොදක්වයි.

    Excel Regex ගැලපුම් ශ්‍රිතය

    RegExpMatch ශ්‍රිතය සාමාන්‍ය ප්‍රකාශනයකට ගැළපෙන පෙළ සඳහා ආදාන තන්තුවක් සොයන අතර ගැළපීමක් හමු වුවහොත් සත්‍ය ලෙස ලබා දෙයි, වෙනත් ආකාරයකින් අසත්‍යය.

    RegExpMatch(පෙළ, රටාව, [ match_case])

    කොතැනද:

    • පෙළ (අවශ්‍යයි) - සෙවීමට තන්තු එකක් හෝ කිහිපයක්.
    • රටාව ( අවශ්ය) - නිතිපතාප්‍රකාශනය ගැලපීමට.
    • Match_case (විකල්ප) - ගැළපුම් වර්ගය. සත්‍ය හෝ අතහැර දැමූ - සිද්ධි සංවේදී; FALSE - case-insensitive

    ක්‍රියාකාරීත්වයේ කේතය මෙහි ඇත.

    උදාහරණය: තන්තු ගැලපීමට සාමාන්‍ය ප්‍රකාශන භාවිතා කරන ආකාරය

    පහත දත්ත කට්ටලයේ, ඔබට අවශ්‍ය යැයි සිතන්න SKU කේත අඩංගු ඇතුළත් කිරීම් හඳුනා ගැනීමට.

    සෑම SKU එකක්ම ලොකු අකුරු 2 කින් ආරම්භ වන අතර, පසුව hyphen එකකින්, පසුව ඉලක්කම් 4 කින් ආරම්භ වන බැවින්, ඔබට පහත ප්‍රකාශනය භාවිතයෙන් ඒවා ගැලපිය හැක.

    රටාව : \b[A-Z]{2}-\d{4}\b

    [A-Z]{2} යනු A සිට Z සහ \d{4 දක්වා ඕනෑම ලොකු අකුරු 2කි } යන්නෙන් අදහස් වන්නේ 0 සිට 9 දක්වා ඕනෑම ඉලක්කම් 4කි. \b යන වචන මායිමකින් පෙන්නුම් කරන්නේ SKU යනු වෙනම වචනයක් මිස විශාල තන්තුවක කොටසක් නොවන බවයි.

    සාමාන්‍යයෙන් ඔබ කරන ආකාරයට සූත්‍රයක් ටයිප් කිරීම ආරම්භ කරන්න. , සහ ශ්‍රිතයේ නම Excel's Autocomplete මගින් යෝජනා කරන ලද ලැයිස්තුවේ දිස්වනු ඇත:

    මුල් තන්තුව A5 හි ඇතැයි උපකල්පනය කළහොත්, සූත්‍රය පහත පරිදි වේ:

    =RegExpMatch(A5, "\b[A-Z]{2}-\d{3}\b")

    පහසුව සඳහා, ඔබට නිත්‍ය ප්‍රකාශනය වෙනම කොටුවකට ඇතුළත් කළ හැකි අතර රටාව තර්කය සඳහා නිරපේක්ෂ යොමුවක් ($A$2) භාවිතා කළ හැක. ටී. ඔබ සූත්‍රය වෙනත් කොටුවලට පිටපත් කරන විට සෛල ලිපිනය නොවෙනස්ව පවතින බව මෙය සහතික කරයි:

    =RegExpMatch(A5, $A$2)

    TRUE සහ FALSE වෙනුවට ඔබේම පෙළ ලේබල සංදර්ශන කිරීමට, IF ශ්‍රිතයේ nest RegExpMatch සහ value_if_true සහ value_if_false හි අවශ්‍ය පෙළ සඳහන් කරන්නplus 5 ලබා දෙන්නේ 15 , ගැලපීම් 15

    \b වචන සීමාව \bjoy\b <14 ප්‍රීතිය වෙනම වචනයක් ලෙස ගැලපේ, නමුත් වින්දනීය තුළ නොවේ. \B වචන සීමාවක් නොවේ \Bjoy\B ප්‍රීතිය වින්දනීය ට ගැලපේ, නමුත් වෙනම වචනයක් ලෙස නොවේ.

    Alternation (OR) construct

    ප්‍රත්‍යාවර්ත ක්‍රියාව මඟින් OR තර්කය සක්‍රීය කරයි, එබැවින් ඔබට මෙම හෝ එම මූලද්‍රව්‍ය සමඟ ගැලපිය හැක.

    ඉදි කරන්න විස්තරය උදාහරණ ගැලපීම්

    මයිකල් බ්‍රවුන් යනු මෘදුකාංග මෙවලම් භාවිතයෙන් සංකීර්ණ ක්‍රියාවලීන් සරල කිරීමට දැඩි ආශාවක් ඇති කැපවූ තාක්‍ෂණ ලෝලියෙකි. තාක්‍ෂණ ක්‍ෂේත්‍රයේ දශකයකට වැඩි පළපුරුද්දක් ඇති ඔහු Microsoft Excel සහ Outlook මෙන්ම Google Sheets සහ Docs හි ඔහුගේ කුසලතා ඔප් නංවා ඇත. මයිකල්ගේ බ්ලොගය ඔහුගේ දැනුම සහ ප්‍රවීණත්වය අන් අය සමඟ බෙදා ගැනීමට කැපවී ඇත, ඵලදායිතාව සහ කාර්යක්ෂමතාව වැඩි දියුණු කිරීම සඳහා පහසුවෙන් අනුගමනය කළ හැකි ඉඟි සහ නිබන්ධන සපයයි. ඔබ පළපුරුදු වෘත්තිකයෙකු හෝ ආධුනිකයෙකු වුවද, මයිකල්ගේ බ්ලොගය මෙම අත්‍යවශ්‍ය මෘදුකාංග මෙවලම්වලින් උපරිම ප්‍රයෝජන ලබා ගැනීම සඳහා වටිනා අවබෝධයක් සහ ප්‍රායෝගික උපදෙස් ලබා දෙයි.