Excel Regex: සාමාන්‍ය ප්‍රකාශන භාවිතයෙන් නූල් ගලපන්න

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

මෙම නිබන්ධනයේදී, Excel හි නූල් ගැලපීමට regex භාවිතා කරන්නේ කෙසේදැයි අපි ගැඹුරින් බලන්නෙමු.

ඔබට පරාසයක නිශ්චිත අගයක් සොයා ගැනීමට අවශ්‍ය වූ විට සෛල වලින්, ඔබ MATCH හෝ XMATCH ශ්‍රිතය භාවිතා කරනු ඇත. කොටුවක නිශ්චිත තන්තුවක් සොයන විට, FIND සහ SEARCH ශ්‍රිතයන් ප්‍රයෝජනවත් වේ. සහ දී ඇති රටාවකට ගැළපෙන තොරතුරු සෛලයක තිබේදැයි ඔබ දන්නේ කෙසේද? පැහැදිලිවම, නිත්‍ය ප්‍රකාශන භාවිතා කිරීමෙන්. නමුත් කොටුවෙන් පිටත Excel regexs සඳහා සහය නොදක්වයි! කණගාටු නොවන්න, අපි එයට බල කරන්නෙමු :)

    Excel VBA Regex ශ්‍රිතය තන්තු ගැලපීමට

    ශීර්ෂයෙන් පැහැදිලි වන පරිදි, සාමාන්‍ය ප්‍රකාශන භාවිතා කිරීම සඳහා Excel හි, ඔබ ඔබේම කාර්යයක් නිර්මාණය කළ යුතුය. වාසනාවකට මෙන්, Excel හි VBA හි අන්තර්ගත RegExp වස්තුවක් ඇත, එය ඔබට පහත පෙන්වා ඇති පරිදි ඔබේ කේතයේ භාවිතා කළ හැක:

    පොදු කාර්යය RegExpMatch(input_range As Range, pattern as Boolean = True ) ලෙස Dim iInputCurRow, cntInputCurCol, cntInputRows, cntInputCols ප්‍රතිඵල ගබඩා කිරීම සඳහා ප්‍රභේදයක් ලෙස Dim arRes() ප්‍රභව පරාසයේ වත්මන් පේළියේ දිගු 'දර්ශකය, මූලාශ්‍ර පරාසයේ වත්මන් තීරුවේ දර්ශකය, පේළි ගණන, ගණන් දෝෂ මත තීරු GoTo ErrHandl RegExpMatch = arRes Set regex = CreateObject ( "VBScript.RegExp" ) regex.pattern = රටා regex.Global = True regex.MultiLine = True නම් True = match_case Else = Fignorecase එවිට regex. අවසානයප්‍රකාශන.

    රටාව : \b[\w\.\-]+@[A-Za-z0-9]+[A-Za-z0-9\.\- ]*[A-Za-z0-9]+\.[A-Za-z]{2,24}\b

    මෙහි සිදුවන්නේ කුමක්ද යන්න වඩා හොඳින් අවබෝධ කර ගැනීමට, අපි එක් එක් කොටස් දෙස සමීපව බලමු :

    • පරිශීලක නාමය හි අකුරු, ඉලක්කම්, යටි ඉරි, තිත් සහ ඉරි ඇතුළත් විය හැක. \w ඕනෑම අකුරක්, ඉලක්කම් හෝ යටි ඉරි සමඟ ගැලපෙන බව මතක තබා ගනිමින්, අපට පහත regex ලැබේ: [\w\.\-]+
    • Domain name ලොකු අකුරු සහ කුඩා අකුරු ඇතුළත් විය හැක, ඉලක්කම්, හයිෆන් (නමුත් පළමු හෝ අවසාන ස්ථානයේ නොවේ) සහ තිත් (උප වසම් වල නම්). යටි ඉරි ඉඩ නොදෙන බැවින්, \w වෙනුවට අපි විවිධ අක්ෂර කට්ටල 3ක් භාවිතා කරමු: [A-Za-z0-9]+[A-Za-z0-9\.\-]*[A-Za-z0-9 ]+
    • ඉහළ මට්ටමේ වසම විශාල අකුරු සහ කුඩා අකුරු වලින් පසුව තිතකින් සමන්විත වේ. එහි අකුරු 2 සිට 24 දක්වා (දැනට පවතින දිගම TLD) අඩංගු විය හැක: \.[A-Za-z]{2,24}

    සටහන. රටාව උපකල්පනය කරන්නේ වසම් නාමයේ අක්ෂරාංක අක්ෂර 2ක් හෝ වැඩි ගණනක් අඩංගු වේ.

    A5 හි මුල් පෙළ සහ A5 හි රටාව සමඟ, සූත්‍රය මෙම හැඩය ගනී:

    =RegExpMatch(A5, $A$2)

    නැතහොත් ඔබට සරල සාමාන්‍ය එකක් භාවිතා කළ හැක. කුඩා අකුරු හෝ ලොකු අකුරු කට්ටලයක් සහිත විද්‍යුත් තැපැල් වලංගු කිරීම සඳහා ප්‍රකාශනය:

    රටාව : \b[\w\.\-]+@[a-z0-9]+[a- z0-9\.\-]*[a-z0-9]+\.[a-z]{2,24}\b

    නමුත් ඔබේ සූත්‍රය සිද්ධි සංවේදී නොවන කරන්න:

    =RegExpMatch(A5, $A$2, FALSE)

    Excel IF Formula with match regex

    inbuilt සහ custom යන කරුණ හේතුවෙන්කාර්යයන් හොඳින් සිදු වේ, තනි සූත්‍රයක ඒවා එකට භාවිතා කිරීමෙන් ඔබව වළක්වන කිසිවක් නැත.

    සාමාන්‍ය ප්‍රකාශනයක් ගැළපෙන්නේ නම් යමක් ආපසු ලබා දීමට හෝ ගණනය කිරීමට සහ එය නොගැලපේ නම්, අභිරුචි RegExpMatch ඇතුළත් කරන්න IF හි තාර්කික පෙළෙහි ශ්‍රිතය:

    IF(RegExpMatch(...), [value_if_true], [value_if_false])

    උදාහරණයක් ලෙස, A5 හි ඇති තන්තුවක වලංගු විද්‍යුත් තැපැල් ලිපිනයක් තිබේ නම්, ඔබට "ඔව්" ආපසු ලබා දිය හැක; එසේ නොමැතිනම් "නැත".

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

    regex ගැළපෙන්නේ නම් ගණන් කරන්න

    ස්වදේශීය Excel ශ්‍රිත සාමාන්‍ය ප්‍රකාශන සඳහා සහය නොදක්වන නිසා, එය COUNTIS හෝ COUNTIFS ශ්‍රිතයට සෘජුවම regex එකක් තැබීමට නොහැක. වාසනාවකට මෙන්, ඔබට අපගේ අභිරුචි ශ්‍රිතය භාවිතයෙන් මෙම ක්‍රියාකාරීත්වය අනුකරණය කළ හැක.

    දුරකථන අංක ගැළපීමට සහ B තීරුවේ ප්‍රතිඵල ප්‍රතිදානය කිරීමට ඔබ regex එකක් භාවිතා කර ඇතැයි සිතමු. සෛල කීයක් දුරකථන අංක අඩංගු දැයි සොයා බැලීමට, ඔබට අවශ්‍ය වන්නේ B5:B9 හි ​​සත්‍ය අගයන් ගණනය කිරීමට. සම්මත COUNTIF සූත්‍රය භාවිතයෙන් එය පහසුවෙන් කළ හැක:

    =COUNTIF(B5:B9, TRUE)

    ඔබේ වැඩ පත්‍රිකාවේ අමතර තීරු අවශ්‍ය නොවේද? කිසිම ප්රශ්නයක් නැ. අපගේ අභිරුචි ශ්‍රිතයට වරකට සෛල කිහිපයක් සැකසිය හැකි බවත් Excel හි SUM හට අරාවක අගයන් එකතු කළ හැකි බවත් මතක තබා ගනිමින්, ඔබ කරන්නේ මෙයයි:

    • RegExpMatch වෙත පරාස යොමුවක් සපයන්න, එවිට එය සත්‍ය සහ අසත්‍ය අගයන් අරාවක්ශුන්‍ය.
    • ප්‍රතිඵලයක් ලෙස ලැබෙන අරාවෙහි 1 සහ 0 එකතු කිරීමට SUM ශ්‍රිතය ලබා ගන්න.

    =SUM(--RegExpMatch(A5:A9, $A$2))

    Regex ගැලපීම Ultimate Suite සමඟ

    අපගේ Ultimate Suite හි පරිශීලකයින්ට ඔවුන්ගේ වැඩපොත් වලට කිසිදු VBA කේතයක් එක් නොකර බලගතු Regex ශ්‍රිත හතරක් භාවිතා කළ හැක, මන්ද ඒවා ඇඩෝන ස්ථාපනයේදී Excel වෙත සුමට ලෙස ඒකාබද්ධ කර ඇත. අපගේ අභිරුචි කාර්යයන් සම්මත .NET RegEx එන්ජිම මගින් සකසන අතර සම්පූර්ණ විශේෂාංග සහිත සම්භාව්‍ය නිත්‍ය ප්‍රකාශන සඳහා සහය දක්වයි.

    අභිරුචි RegexMatch ශ්‍රිතය භාවිතා කරන්නේ කෙසේද

    ඔබ Ultimate Suite හි නවතම අනුවාදය ස්ථාපනය කර ඇතැයි උපකල්පනය කරයි ( 2021.4 හෝ ඊට පසු), ඔබට සරල පියවර දෙකකින් Regex Match සූත්‍රයක් සෑදිය හැක:

    1. Ablebits Data ටැබය මත, Text group, click කරන්න Regex මෙවලම් .

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

    මොහොතකට පසුව, AblebitsRegexMatch ශ්‍රිතය ඔබේ දත්තවල දකුණු පස ඇති නව තීරුවක ඇතුළත් කෙරේ.

    පහත තිර රුවෙහි, A තීරුවේ ඇති තන්තුවල ඉලක්කම් 7ක් තිබේදැයි ශ්‍රිතය පරීක්ෂා කරයි. අංක හෝ නැත.

    ඉඟි:

    • Func tion ඇතුළත් කළ හැක සෘජුවම කොටුවකට සම්මත Insert Function සංවාද කොටුව හරහා, එය AblebitsUDFs යටතේ වර්ගීකරණය කර ඇත.
    • පෙරනිමියෙන්, සාමාන්‍ය ප්‍රකාශනයක් සූත්‍රයට එකතු වේ, නමුත් ඔබට තබා ගත හැක. එය වෙනම සෛලයක. මේ සඳහා, 2 වන තර්කය සඳහා සෛල යොමුවක් භාවිතා කරන්න.
    • පෙරනිමියෙන්, ශ්‍රිතය අවස්ථා සංවේදී වේ. කේස් සංවේදී නොවන ගැලපීම සඳහා, (?i) රටාව භාවිතා කරන්න.

    වැඩිදුර තොරතුරු සඳහා, කරුණාකර AblebitsRegexMatch ශ්‍රිතය බලන්න.

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

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

    Excel Regex Match උදාහරණ (.xlsm ගොනුව)

    Ultimate Suite 14- දවස සම්පූර්ණ ක්‍රියාකාරී අනුවාදය (.exe ගොනුව)

    cntInputRows = input_range.Rows.Count cntInputCols = input_range.Columns.Count ReDim arRes(1 සිට cntInputRows දක්වා, 1 සිට cntInputCols දක්වා) iInputCurRow සඳහා = 1 සිට cntInputRows සඳහා iInputCurRows = 1 සිට iInputCurCol සඳහා iInputCurCol .Cells(iInputCurRow, iInputCurCol).Value) මීළඟ ඊළඟ RegExpMatch = arRes Exit Function ErrHandl: RegExpMatch = CVErr(xlErrValue) අවසන් කාර්යය

    VBA සංස්කාරකයේ කේතය අලවන්න, සහ ඔබේ නව <2Expatch>Reg <2Exp1>Reg භාවිතයට සූදානම්. ඔබ VBA සමඟ එතරම් පළපුරුද්දක් නොමැති නම්, මෙම මාර්ගෝපදේශය ප්‍රයෝජනවත් විය හැකිය: Excel හි VBA කේතය ඇතුළත් කරන්නේ කෙසේද.

    සටහන. කේතය ඇතුළත් කිරීමෙන් පසු, ඔබගේ ගොනුව සාර්ව සක්‍රීය වැඩපොතක් (.xlsm) ලෙස සුරැකීමට මතක තබා ගන්න.

    RegExpMatch වාක්‍ය ඛණ්ඩය

    RegExpMatch ශ්‍රිතය මඟින් මූලාශ්‍ර තන්තුවේ කිසියම් කොටසක් සාමාන්‍ය ප්‍රකාශනයකට ගැලපේද යන්න පරීක්ෂා කරයි. ප්‍රතිඵලය බූලියන් අගයකි: අඩුම තරමින් එක් ගැලපීමක්වත් හමු වුවහොත් සත්‍ය, එසේ නොමැතිනම් අසත්‍යය.

    අපගේ අභිරුචි ශ්‍රිතයට විස්තාරක 3ක් ඇත - පළමු දෙක අවශ්‍ය වන අතර අවසාන එක විකල්පමය වේ:

    RegExpMatch(text , රටාව, [match_case])

    කොතැනද:

    • පෙළ (අවශ්‍යයි) - සෙවීමට තන්තු එකක් හෝ කිහිපයක්. කොටුවක් හෝ පරාස යොමුවක් ලෙස සැපයිය හැක.
    • රටාව (අවශ්‍යයි) - ගැළපෙන සාමාන්‍ය ප්‍රකාශනය. සෘජුවම සූත්‍රයක තැබූ විට, රටාවක් ද්විත්ව උද්ධෘතවල අමුණා තිබිය යුතුය.
    • Match_case (විකල්ප) - ගැළපීම නිර්වචනය කරයිවර්ගය. සත්‍ය හෝ මඟ හැර තිබේ නම් (පෙරනිමිය), සිද්ධි සංවේදී ගැලපීම සිදු කරනු ලැබේ; අසත්‍ය නම් - සිද්ධි සංවේදී නොවේ.

    මෙම ක්‍රියාව Excel 365, Excel 2021, Excel 2019, Excel 2016, Excel 2013 සහ Excel 2010 හි සියලුම අනුවාද වල ක්‍රියා කරයි.

    ඔබේ දේවල් 3 RegExpMatch ගැන දැනගත යුතුය

    අපි ප්‍රායෝගික ගණනය කිරීම් වලට යාමට පෙර, කරුණාකර සමහර තාක්ෂණික කරුණු පැහැදිලි කරන පහත කරුණු ගැන අවධානය යොමු කරන්න:

    1. Function තනි සෛලයක්<9 ක්‍රියාවට නැංවිය හැක> හෝ කොටු පරාසය . අවසාන අවස්ථාවෙහිදී, මෙම උදාහරණයේ පෙන්වා ඇති පරිදි ගතික අරාවක් හෝ ස්පීල් පරාසයක් ආකාරයෙන් ප්‍රතිඵල අසල්වැසි සෛල වෙත ලබා දෙනු ලැබේ.
    2. පෙරනිමියෙන්, ශ්‍රිතය අවස්ථා සංවේදී . පෙළ නඩුව නොසලකා හැරීමට, match_case තර්කය FALSE ලෙස සකසන්න. VBA Regexp සීමාවන් නිසා, සිද්ධි සංවේදී නොවන රටාව (?i) සහාය නොදක්වයි.
    3. වලංගු රටාවක් සොයාගත නොහැකි නම්, ශ්‍රිතය FALSE ලෙස ලබා දෙයි; රටාව අවලංගු නම් , #VALUE! දෝෂයක් සිදුවේ.

    පහත, ඔබට නිරූපණ අරමුණු සඳහා නිර්මාණය කරන ලද regex ගැළපුම් උදාහරණ කිහිපයක් සොයාගත හැකිය. ඔබේ සැබෑ වැඩ පත්‍රිකාවල පුළුල් පරාසයක ආදාන දත්ත සමඟ අපගේ රටා දෝෂ රහිතව ක්‍රියා කරන බවට අපට සහතික විය නොහැක. නිෂ්පාදනය කිරීමට පෙර, ඔබගේ අවශ්‍යතා අනුව අපගේ සාම්පල රටා පරීක්ෂා කර සකස් කිරීමට වග බලා ගන්න.

    Excel හි තන්තු ගැලපීමට regex භාවිතා කරන්නේ කෙසේද

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

    ඔබට සමහර අයිතම පිළිබඳ විවිධ විස්තර අඩංගු සෛල පරාසයක් (A5:A9) ඇතැයි සිතමු. SKU ඇත්තේ කුමන සෛලදැයි දැන ගැනීමට ඔබ කැමතිය. එක් එක් SKU කැපිටල් අකුරු 2කින්, ඉරකින් සහ ඉලක්කම් 3කින් සමන්විත යැයි උපකල්පනය කරමින්, ඔබට පහත ප්‍රකාශනය භාවිතයෙන් ඒවා ගැලපිය හැක.

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

    [A-Z]{2} යන්නෙන් A සිට Z දක්වා ඕනෑම ලොකු අකුරු 2ක් අදහස් වන අතර \d{3} යන්නෙන් 0 සිට 9 දක්වා ඕනෑම ඉලක්කම් 3ක් අදහස් වේ. \b අක්ෂරය වචනයක් දක්වයි. මායිම, එනම් SKU යනු වෙනම වචනයක් වන අතර, 23-MAR-2022 වැනි විශාල තන්තුවක කොටසක් නොවේ.

    පිහිටා ඇති රටාව සමඟ, අපට සූත්‍රයක් ලිවීමට ඉදිරියට යා හැක. මූලික වශයෙන්, අභිරුචි ශ්‍රිතයක් භාවිතා කිරීම ස්වදේශීය එකකට වඩා වෙනස් නොවේ. ඔබ සූත්‍රයක් ටයිප් කිරීමට පටන් ගත් වහාම, Excel හි ස්වයංක්‍රීය සම්පුර්ණ කිරීම මගින් යෝජනා කරන ලද ලැයිස්තුවේ ශ්‍රිතයේ නම දිස්වනු ඇත. කෙසේ වෙතත්, Dynamic Array Excel (Microsoft 365 සහ Excel 2021) සහ සාම්ප්‍රදායික Excel (2019 සහ පැරණි අනුවාද) වල සූක්ෂ්මතා කිහිපයක් ඇත.

    එක් කොටුවක තන්තුව ගැලපීමට

    තන්තුවක් ගැලපීමට තනි කොටුවක, පළමු තර්කයේ එම කොටුව වෙත යොමු වන්න. දෙවන තර්කයේ සාමාන්‍ය ප්‍රකාශනයක් අඩංගු විය යුතුය.

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

    රටාව නිරපේක්ෂ යොමුවකින් ($A$2) අගුලු දමා ඇති පූර්ව නිශ්චිත කොටුවක ද තබා ගත හැක:

    =RegExpMatch(A5, $A$2)

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

    මෙම ක්‍රමය සියලුම Excel අනුවාද තුළ අලංකාර ලෙස ක්‍රියා කරයි.

    එකවර බහු සෛලවල තන්තු ගලපන්න

    තනි සූත්‍රයක් සමඟ බහු තන්තු ගැලපීමට, පළමු තර්කයේ පරාස යොමුවක් ඇතුලත් කරන්න:

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

    Excel 365 සහ Excel 2021 ගතික අරා වලට සහය දක්වයි, එය ක්‍රියා කරන්නේ මේ ආකාරයටයි - ඔබ පළමු කොටුවේ සූත්‍රය ටයිප් කර, Enter යතුර ඔබන්න, එවිට සූත්‍රය ස්වයංක්‍රීයව පහත සෛල තුළට විහිදේ.

    Excel 2019 සහ ඊට පෙර, එය සාම්ප්‍රදායික CSE අරා සූත්‍රයක් ලෙස පමණක් ක්‍රියා කරයි, එය සෛල පරාසයක ඇතුළත් කර Ctrl + Shift + Enter යතුරු එකට එබීමෙන් සම්පූර්ණ කෙරේ.

    සංඛ්‍යාවට ගැළපීමට Regex

    0 සිට 9 දක්වා ඕනෑම තනි ඉලක්කමක් ගැලපීමට, regex හි \d අක්ෂරය භාවිතා කරන්න. ඔබගේ විශේෂිත කාර්යය මත පදනම්ව, සුදුසු ප්‍රමාණකාරකයක් එක් කරන්න හෝ වඩාත් සංකීර්ණ රටාවක් සාදන්න.

    ඕනෑම අංකයකට ගැළපීමට Regex

    ඕනෑම දිගකින් ඕනෑම සංඛ්‍යාවක් ගැළපීමට, / ප්‍රමාණයට පසුව වහාම තබන්න d අක්ෂරය, එය ඉලක්කම් 1ක් හෝ වැඩි ගණනක් අඩංගු සංඛ්‍යා සෙවීමට පවසයි.

    රටාව : \d+

    =RegExpMatch(A5:A9, "\d+")

    නිශ්චිත දිග සංඛ්‍යාවට ගැලපෙන Regex

    ඔබේ ඉලක්කය නිශ්චිත ඉලක්කම් සංඛ්‍යාවක් අඩංගු සංඛ්‍යාත්මක අගයන් ගැලපීම නම්, සුදුසු ප්‍රමාණකාරකයක් සමඟ එක්ව \d භාවිතා කරන්න.

    උදාහරණයක් ලෙස, හරියටම ඉලක්කම් 7 කින් සමන්විත ඉන්වොයිස් අංක ගැලපීමට, ඔබ \d{7} භාවිතා කරයි. කෙසේ වෙතත්, එය 7 ට ගැලපෙන බව කරුණාවෙන් සලකන්නඅපේක්ෂා කළ පරිදි:

    සටහන්:

    • ජාත්‍යන්තර කේත පරීක්ෂා නොකෙරේ, එබැවින් ඒවා තිබිය හැක හෝ නොතිබිය හැක.
    • නිත්‍ය ප්‍රකාශනවල, \s යනු හිස් අවකාශයක්, ටැබ් එකක්, කරත්ත ආපසු යැවීමක් හෝ නව රේඛාවක් වැනි ඕනෑම සුදු අවකාශයක් සංකේතයකි. ඉඩ පමණක් ඉඩ දීමට, [-\ භාවිතා කරන්න. ] වෙනුවට [-\.\s].
    • Regex to NOT නොගැලපෙන අක්ෂරය

      නිශ්චිත අක්ෂරයක් අඩංගු නොවන තන්තු සොයා ගැනීමට, ඔබට ගැලපෙන අක්ෂර පන්ති [^ ] භාවිතා කළ හැක වරහන් තුළ නොමැති කිසිවක්. උදාහරණයක් ලෙස:

      • [^13] 1 හෝ 3 නොවන ඕනෑම තනි අක්ෂරයකට ගැලපේ.
      • [^1-3] 1 නොවන ඕනෑම තනි අක්ෂරයකට ගැලපේ, 2 හෝ 3 (එනම් 1 සිට 3 දක්වා ඕනෑම ඉලක්කමක්).

      දුරකථන අංක ලැයිස්තුවක, ඔබට රටේ කේතයක් නොමැති ඒවා සොයා ගැනීමට අවශ්‍ය යැයි සිතන්න. ඕනෑම ජාත්‍යන්තර කේතයක + ලකුණ ඇතුළත් බව මතක තබා ගනිමින්, ඔබට plus ලකුණක් අඩංගු නොවන තන්තු සොයා ගැනීමට [^\+] අක්ෂර පන්තිය භාවිතා කළ හැක. ඉහත ප්‍රකාශනය + නොවන ඕනෑම තනි අක්ෂරයකට ගැළපෙන බව වටහා ගැනීම වැදගත්ය. දුරකථන අංකයක් තන්තුවක ඕනෑම තැනක තිබිය හැකි බැවින්, ආරම්භයේදීම අවශ්‍ය නොවේ, එක් එක් අනුලකුණ පරීක්ෂා කිරීමට * ප්‍රමාණාංකය එකතු කරනු ලැබේ. ආරම්භක ^ සහ අවසානය $ නැංගුරම් මුළු තන්තුවම සකසන බව සහතික කරයි. එහි ප්‍රතිඵලයක් ලෙස, අපට පහත නිත්‍ය ප්‍රකාශනය ලැබෙන අතර එය "තන්තුවේ ඕනෑම ස්ථානයක + අක්ෂරය නොගැලපේ".

      රටාව :^[^\+]*$

      =RegExpMatch(A5, "^[^\+]*$")

      Regex to NOT string

      සඳහා විශේෂ නිත්‍ය ප්‍රකාශන වාක්‍ය ඛණ්ඩයක් නොමැති වුවද නිශ්චිත තන්තුවකට නොගැලපේ, සෘණාත්මක බැල්මක් භාවිතා කිරීමෙන් ඔබට මෙම හැසිරීම අනුකරණය කළ හැකිය.

      ඔබට "ලෙමන්" යන වචනය අඩංගු නැති තන්තු සොයා ගැනීමට අවශ්‍ය යැයි සිතමු. මෙම නිත්‍ය ප්‍රකාශනය සංග්‍රහයක් වනු ඇත:

      රටාව : ^((?! ලෙමන්).)*$

      නිසැකවම, මෙහි යම් පැහැදිලි කිරීමක් අවශ්‍ය වේ. ඍණාත්මක පෙනුම (?!lemons) ඉදිරියෙන් "ලෙමන්" යන වචනයක් නොමැති දැයි බැලීමට දකුණට බලයි. "ලෙමන්ස්" නොමැති නම්, රේඛා බිඳීමක් හැර, තිත ඕනෑම අක්ෂරයකට ගැලපේ. ඉහත ප්‍රකාශනය සිදු කරන්නේ එක් චෙක්පතක් පමණක් වන අතර, * ප්‍රමාණාංකකය එය ශුන්‍ය හෝ වැඩි වාර ගණනක් පුනරාවර්තනය කරයි, ^ මගින් නැංගුරම් ලා ඇති තන්තුවේ අවසානය දක්වා $.

      පෙළ නඩුව නොසලකා හැරීමට, අපගේ ශ්‍රිතය සිද්ධි සංවේදී නොවන බවට පත් කිරීම සඳහා අපි 3 වන තර්කය FALSE ලෙස සකසමු:

      =RegExpMatch(A5, $A$2, FALSE)

      ඉඟි සහ සටහන්:

      • ඉහත regex ක්‍රියා කරන්නේ තනි පේළිය තන්තු සඳහා පමණි. milti-line strings වලදී, ආදාන තන්තුවේ ආරම්භය සහ අවසානය වෙනුවට ^ සහ $ අක්ෂර එක් එක් පේළියේ ආරම්භය සහ අවසානයට ගැලපේ, එබැවින් regex සොයන්නේ පළමු පේළියේ පමණි.
      • නිශ්චිත පෙළ සමඟ ආරම්භ නොකරන තන්තු ගැලපීමට , ^(?!lemons)*$
      • වැනි සාමාන්‍ය ප්‍රකාශනයක් භාවිතා කරන්න. නිමා නොවන නිශ්චිත පෙළ සමඟ තන්තු ගැලපීමට, ඇතුළත් කරන්නසෙවුම් රටාවට අවසන් තන්තු නැංගුරම: ^((?!lemons$).)*$

      Case insensitive matching

      සම්භාව්‍ය නිත්‍ය ප්‍රකාශනවල, සඳහා විශේෂ රටාවක් ඇත VBA RegExp හි සහාය නොදක්වන සිද්ධි සංවේදී නොවන ගැලපීම (?i). මෙම සීමාව මඟහරවා ගැනීම සඳහා, අපගේ අභිරුචි ශ්‍රිතය match_case නම් 3 වැනි විකල්ප තර්කය පිළිගනී. කේස් සංවේදී නොවන ගැලපීම සිදු කිරීමට, එය අසත්‍ය ලෙස සකසන්න.

      ඔබට 1-මාර්තු-22 හෝ 01-මාර්තු-2022 වැනි දින හඳුනා ගැනීමට අවශ්‍ය යැයි සිතමු. dd-mmm-yyyy සහ d-mmm-yy ආකෘති ගැළපීමට, අපි පහත සාමාන්‍ය ප්‍රකාශනය භාවිතා කරමු.

      රටාව : \b\d{1,2}-(ජනඉලක්කම් 10 හෝ ඉලක්කම් 100 අංකයක් ඇතුළුව තන්තුවේ ඕනෑම තැනක ඉලක්කම්. ඔබ සොයන්නේ මෙය නොවේ නම්, සීමාව \b යන වචනය දෙපැත්තේ තබන්න.

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

      =RegExpMatch(A5:A9, "\b\d{7}\b")

      දුරකථන අංක වලට ගැලපෙන Regex

      දුරකථන අංක විවිධ ආකෘතිවලින් ලිවිය හැකි බැවින්, ඒවාට ගැළපීමට වඩාත් සංකීර්ණ නිත්‍ය ප්‍රකාශනයක් අවශ්‍ය වේ.

      පහත දත්ත කට්ටලය තුළ, අපි පළමු කණ්ඩායම් 2 තුළ ඉලක්කම් 3ක් සහ අවසාන කාණ්ඩයේ ඉලක්කම් 4ක් ඇති ඉලක්කම් 10ක අංක සොයමු. කන්ඩායම් කාල සීමාවක්, යටි ඉරකින් හෝ අවකාශයකින් වෙන් කළ හැක. පළමු කණ්ඩායම වරහන් තුළ කොටු නොවිය හැක.

      රටාව: (\(\d{3}\)

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