Excel-ൽ സ്ട്രിംഗുകൾ എക്‌സ്‌ട്രാക്‌റ്റ് ചെയ്യാൻ Regex (ഒന്നോ എല്ലാ പൊരുത്തങ്ങളും)

  • ഇത് പങ്കുവയ്ക്കുക
Michael Brown

ഉള്ളടക്ക പട്ടിക

ഈ ട്യൂട്ടോറിയലിൽ, നൽകിയിരിക്കുന്ന പാറ്റേണുമായി പൊരുത്തപ്പെടുന്ന സബ്‌സ്‌ട്രിംഗുകൾ കണ്ടെത്തുന്നതിനും എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യുന്നതിനും Excel-ൽ സാധാരണ എക്‌സ്‌പ്രഷനുകൾ എങ്ങനെ ഉപയോഗിക്കാമെന്ന് നിങ്ങൾ പഠിക്കും.

Text എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യുന്നതിന് മൈക്രോസോഫ്റ്റ് എക്‌സൽ നിരവധി പ്രവർത്തനങ്ങൾ നൽകുന്നു. കോശങ്ങളിൽ നിന്ന്. നിങ്ങളുടെ വർക്ക്ഷീറ്റുകളിലെ സ്ട്രിംഗ് എക്‌സ്‌ട്രാക്ഷൻ വെല്ലുവിളികളെ നേരിടാൻ ആ ഫംഗ്‌ഷനുകൾക്ക് കഴിയും. മിക്കവാറും, പക്ഷേ എല്ലാം അല്ല. ടെക്‌സ്‌റ്റ് ഫംഗ്‌ഷനുകൾ ഇടറുമ്പോൾ, പതിവ് പദപ്രയോഗങ്ങൾ രക്ഷയ്‌ക്കായി വരുന്നു. കാത്തിരിക്കൂ... Excel-ൽ RegEx ഫംഗ്‌ഷനുകളൊന്നുമില്ല! ശരിയാണ്, ഇൻബിൽറ്റ് ഫംഗ്‌ഷനുകളൊന്നുമില്ല. എന്നാൽ നിങ്ങളുടേതായവ ഉപയോഗിക്കുന്നതിൽ നിന്ന് നിങ്ങളെ തടയുന്ന ഒന്നുമില്ല :)

    സ്‌ട്രിംഗുകൾ എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യുന്നതിനുള്ള എക്‌സൽ വിബിഎ റീജക്‌സ് ഫംഗ്‌ഷൻ

    നിങ്ങളുടെ എക്‌സലിലേക്ക് ഒരു ഇഷ്‌ടാനുസൃത റീജക്‌സ് എക്‌സ്‌ട്രാക്റ്റ് ഫംഗ്‌ഷൻ ചേർക്കുന്നതിന്, ഇനിപ്പറയുന്ന കോഡ് VBA എഡിറ്ററിൽ ഒട്ടിക്കുക. VBA-ൽ റെഗുലർ എക്‌സ്‌പ്രഷനുകൾ പ്രവർത്തനക്ഷമമാക്കുന്നതിന്, ഞങ്ങൾ ബിൽറ്റ്-ഇൻ Microsoft RegExp ഒബ്‌ജക്‌റ്റ് ഉപയോഗിക്കുന്നു.

    പൊതു പ്രവർത്തനം RegExpExtract(ടെക്‌സ്റ്റ് സ്‌ട്രിംഗായി , പാറ്റേൺ സ്‌ട്രിംഗായി , ഓപ്‌ഷണൽ instance_num As Integer = 0, Optional match_case As Boolean = True ) മങ്ങിയ text_matches() സ്ട്രിംഗ് ഡിം ആയി matches_index Integer ആയി GoTo ErrHandl RegExpExtract = "" സെറ്റ് regex = CreateObject ( "VBScript.RegExp" ) regex.pattern = പാറ്റേൺ regex.Global = True regex =.MultiLe എങ്കിൽ മാച്ച്. അവഗണിക്കുക = False Else regex.ignorecase = ശരി അവസാനം സജ്ജീകരിച്ചാൽ പൊരുത്തങ്ങൾ = regex.എക്‌സ്‌ക്യൂട്ട് (ടെക്‌സ്റ്റ്) എങ്കിൽ 0 < പൊരുത്തം.VBA RegExp, കൂടുതൽ ശക്തമായ .NET Regex ഫംഗ്‌ഷനുകൾ ചർച്ച ചെയ്യുന്ന അടുത്ത ഭാഗം വായിക്കാൻ ഞാൻ നിങ്ങളെ പ്രോത്സാഹിപ്പിക്കുന്നു.

    Excel-ൽ ടെക്‌സ്‌റ്റ് എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യുന്നതിനുള്ള ഇഷ്‌ടാനുസൃത .NET അടിസ്ഥാനമാക്കിയുള്ള Regex ഫംഗ്‌ഷൻ

    VBA RegExp ഫംഗ്‌ഷനുകളിൽ നിന്ന് വ്യത്യസ്തമായി ഏതൊരു Excel ഉപയോക്താവിനും എഴുതാവുന്നതാണ്, .NET RegEx എന്നത് ഡെവലപ്പറുടെ മണ്ഡലമാണ്. Microsoft .NET Framework, Perl 5-ന് അനുയോജ്യമായ പൂർണ്ണ ഫീച്ചർ ചെയ്ത റെഗുലർ എക്സ്പ്രഷൻ സിന്റാക്സിനെ പിന്തുണയ്ക്കുന്നു. അത്തരം ഫംഗ്ഷനുകൾ എങ്ങനെ എഴുതണമെന്ന് ഈ ലേഖനം നിങ്ങളെ പഠിപ്പിക്കില്ല (ഞാനൊരു പ്രോഗ്രാമർ അല്ല, അത് എങ്ങനെ ചെയ്യണമെന്നതിനെക്കുറിച്ച് ഒരു ചെറിയ ധാരണയുമില്ല :)

    സാധാരണ .NET RegEx എഞ്ചിൻ പ്രോസസ്സ് ചെയ്‌ത നാല് ശക്തമായ ഫംഗ്‌ഷനുകൾ ഇതിനകം തന്നെ ഞങ്ങളുടെ ഡെവലപ്പർമാർ എഴുതി അൾട്ടിമേറ്റ് സ്യൂട്ടിൽ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്. Excel-ൽ ടെക്‌സ്‌റ്റ് എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യുന്നതിന് പ്രത്യേകം രൂപകൽപ്പന ചെയ്‌തിരിക്കുന്ന ഫംഗ്‌ഷന്റെ ചില പ്രായോഗിക ഉപയോഗങ്ങൾ ഞങ്ങൾ ചുവടെ കാണിക്കും.

    നുറുങ്ങ്. .NET Regex വാക്യഘടനയെക്കുറിച്ചുള്ള വിവരങ്ങൾക്ക്, .NET റെഗുലർ എക്സ്പ്രഷൻ ലാംഗ്വേജ് കാണുക.

    സാധാരണ എക്‌സ്‌പ്രഷനുകൾ ഉപയോഗിച്ച് Excel-ൽ സ്റ്റിംഗുകൾ എങ്ങനെ എക്‌സ്‌ട്രാക്‌റ്റ് ചെയ്യാം

    നിങ്ങൾക്ക് അൾട്ടിമേറ്റ് സ്യൂട്ടിന്റെ ഏറ്റവും പുതിയ പതിപ്പ് ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടെന്ന് കരുതുക, സാധാരണ എക്‌സ്‌പ്രഷനുകൾ ഉപയോഗിച്ച് ടെക്‌സ്‌റ്റ് എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യുന്നത് ഈ രണ്ട് ഘട്ടങ്ങളിലേക്ക് ചുരുങ്ങുന്നു:

    1. Ablebits Data ടാബിൽ, Text ഗ്രൂപ്പിൽ, Regex Tools ക്ലിക്ക് ചെയ്യുക.
    2. Regex Tools പാളിയിൽ, ഉറവിട ഡാറ്റ തിരഞ്ഞെടുക്കുക, നിങ്ങളുടെ Regex പാറ്റേൺ നൽകുക, തുടർന്ന് Extract ഓപ്ഷൻ തിരഞ്ഞെടുക്കുക. ഫലം ഒരു ഇഷ്‌ടാനുസൃത ഫംഗ്‌ഷനായി ലഭിക്കുന്നതിന്, ഒരു മൂല്യമല്ല, ഒരു ഫോർമുലയായി തിരുകുക പരിശോധിക്കുകപെട്ടി. ചെയ്തുകഴിഞ്ഞാൽ, എക്‌സ്‌ട്രാക്‌റ്റ് ബട്ടൺ ക്ലിക്ക് ചെയ്യുക.

    നിങ്ങളുടെ യഥാർത്ഥ ഡാറ്റയുടെ വലതുവശത്തുള്ള ഒരു പുതിയ കോളത്തിൽ ഫലങ്ങൾ ദൃശ്യമാകും:

    AblebitsRegexExtract വാക്യഘടന

    ഞങ്ങളുടെ ഇഷ്‌ടാനുസൃത പ്രവർത്തനത്തിന് ഇനിപ്പറയുന്ന വാക്യഘടനയുണ്ട്:

    AblebitsRegexExtract(reference, regular_expression)

    എവിടെ:

    • റഫറൻസ് (ആവശ്യമാണ്) - സോഴ്സ് സ്ട്രിംഗ് അടങ്ങിയ സെല്ലിലേക്കുള്ള ഒരു റഫറൻസ്.
    • Regular_expression (ആവശ്യമാണ്) - പൊരുത്തപ്പെടാനുള്ള regex പാറ്റേൺ.

    പ്രധാന കുറിപ്പ്! Excel-നുള്ള Ultimate Suite ഇൻസ്റ്റാൾ ചെയ്തിട്ടുള്ള മെഷീനുകളിൽ മാത്രമേ ഫംഗ്ഷൻ പ്രവർത്തിക്കൂ.

    ഉപയോഗ കുറിപ്പുകൾ

    നിങ്ങളുടെ പഠന വക്രം സുഗമമാക്കുന്നതിനും നിങ്ങളുടെ അനുഭവം കൂടുതൽ ആസ്വാദ്യകരമാക്കുന്നതിനും, ദയവായി ഈ പോയിന്റുകൾ ശ്രദ്ധിക്കുക:

    1. ഒരു ഫോർമുല സൃഷ്‌ടിക്കുന്നതിന്, നിങ്ങൾക്ക് ഞങ്ങളുടെ Regex Tools , അല്ലെങ്കിൽ Excel-ന്റെ Insert function ഡയലോഗ് ഉപയോഗിക്കാം, അല്ലെങ്കിൽ ഒരു സെല്ലിൽ മുഴുവൻ ഫംഗ്‌ഷന്റെ പേരും ടൈപ്പ് ചെയ്യുക. സൂത്രവാക്യം ചേർത്തുകഴിഞ്ഞാൽ, ഏതെങ്കിലും നേറ്റീവ് ഫോർമുല പോലെ നിങ്ങൾക്ക് ഇത് നിയന്ത്രിക്കാനാകും (എഡിറ്റുചെയ്യുക, പകർത്തുക അല്ലെങ്കിൽ നീക്കുക).
    2. നിങ്ങൾ Regex ടൂൾസ് പാളിയിൽ നൽകുന്ന പാറ്റേൺ രണ്ടാം ആർഗ്യുമെന്റിലേക്ക് പോകുന്നു. ഒരു പ്രത്യേക സെല്ലിൽ ഒരു പതിവ് എക്സ്പ്രഷൻ സൂക്ഷിക്കാനും സാധിക്കും. ഈ സാഹചര്യത്തിൽ, രണ്ടാമത്തെ ആർഗ്യുമെന്റിനായി ഒരു സെൽ റഫറൻസ് ഉപയോഗിക്കുക.
    3. ഫംഗ്ഷൻ ആദ്യം കണ്ടെത്തിയ പൊരുത്തം എക്‌സ്‌ട്രാക്‌റ്റ് ചെയ്യുന്നു.
    4. ഡിഫോൾട്ടായി, ഫംഗ്‌ഷൻ കേസ് ആണ്. - സെൻസിറ്റീവ് . കേസ്-ഇൻസെൻസിറ്റീവ് പൊരുത്തത്തിനായി, (?i) പാറ്റേൺ ഉപയോഗിക്കുക.
    5. ഒരു പൊരുത്തം കണ്ടെത്തിയില്ലെങ്കിൽ, ഒരു #N/A പിശക്തിരികെ നൽകി.

    രണ്ട് പ്രതീകങ്ങൾക്കിടയിലുള്ള സ്ട്രിംഗ് എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യാൻ Regex

    രണ്ട് പ്രതീകങ്ങൾക്കിടയിൽ ടെക്‌സ്‌റ്റ് ലഭിക്കുന്നതിന്, നിങ്ങൾക്ക് ഒരു ക്യാപ്‌ചറിംഗ് ഗ്രൂപ്പ് അല്ലെങ്കിൽ ലുക്ക്-എറൗണ്ട്‌സ് ഉപയോഗിക്കാം.

    നമുക്ക് നിങ്ങൾ ബ്രാക്കറ്റുകൾക്കിടയിൽ ടെക്‌സ്‌റ്റ് എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യാൻ നോക്കുകയാണെന്ന് പറയുക. ഒരു ഗ്രൂപ്പ് ക്യാപ്‌ചർ ചെയ്യലാണ് ഏറ്റവും എളുപ്പമുള്ള മാർഗം.

    പാറ്റേൺ 1 : \[(.*?)\]

    പിന്നിലും ലുക്ക്‌എഹൈഡിലും പോസിറ്റീവ് ലുക്ക് ഉണ്ടെങ്കിൽ, ഫലം കൃത്യമായി ലഭിക്കും അതേ.

    പാറ്റേൺ 2 : (?<=\[)(.*?)(?=\])

    ഞങ്ങളുടെ ക്യാപ്‌ചറിംഗ് ഗ്രൂപ്പ് ശ്രദ്ധിക്കുക (.*?) രണ്ട് ബ്രാക്കറ്റുകൾക്കിടയിലുള്ള വാചകത്തിനായി അലസമായ തിരച്ചിൽ നടത്തുന്നു - ആദ്യത്തേത് [ആദ്യത്തേത്] വരെ. ഒരു ചോദ്യചിഹ്നമില്ലാതെ (.*) ഒരു ക്യാപ്ചറിംഗ് ഗ്രൂപ്പ് ഒരു അത്യാഗ്രഹത്തോടെയുള്ള തിരച്ചിൽ നടത്തുകയും ആദ്യം [ അവസാനത്തേത് ] വരെ എല്ലാം ക്യാപ്‌ചർ ചെയ്യുകയും ചെയ്യും.

    A2 ലെ പാറ്റേൺ ഉപയോഗിച്ച്, ഫോർമുല ഇങ്ങനെ പോകുന്നു ഇനിപ്പറയുന്നത്:

    =AblebitsRegexExtract(A5, $A$2)

    എല്ലാ പൊരുത്തങ്ങളും എങ്ങനെ നേടാം

    ഇതിനകം സൂചിപ്പിച്ചതുപോലെ, AblebitsRegexExtract ഫംഗ്‌ഷന് ഒരു പൊരുത്തം മാത്രമേ എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യാനാകൂ. എല്ലാ പൊരുത്തങ്ങളും ലഭിക്കാൻ, ഞങ്ങൾ നേരത്തെ ചർച്ച ചെയ്ത VBA ഫംഗ്ഷൻ നിങ്ങൾക്ക് ഉപയോഗിക്കാം. എന്നിരുന്നാലും, ഒരു മുന്നറിയിപ്പ് ഉണ്ട് - VBA RegExp ഗ്രൂപ്പുകൾ ക്യാപ്ചർ ചെയ്യുന്നതിനെ പിന്തുണയ്‌ക്കുന്നില്ല, അതിനാൽ മുകളിലെ പാറ്റേൺ "അതിർത്തി" പ്രതീകങ്ങളും നൽകും, ഞങ്ങളുടെ കാര്യത്തിൽ ബ്രാക്കറ്റുകൾ.

    =TEXTJOIN(" ", TRUE, RegExpExtract(A5, $A$2))

    ഒഴിവാക്കാൻ ബ്രാക്കറ്റുകളിൽ, ഈ ഫോർമുല ഉപയോഗിച്ച് ശൂന്യമായ സ്ട്രിംഗുകൾ ("") ഉപയോഗിച്ച് അവയെ മാറ്റിസ്ഥാപിക്കുക:

    =SUBSTITUTE(SUBSTITUTE(TEXTJOIN(", ", TRUE, RegExpExtract(A5, $A$2)), "]", ""),"[","")

    മികച്ച വായനാക്ഷമതയ്ക്കായി, ഞങ്ങൾ ഡിലിമിറ്ററിനായി ഒരു കോമ ഉപയോഗിക്കുന്നു.

    രണ്ട് സ്‌ട്രിംഗുകൾക്കിടയിൽ ടെക്‌സ്‌റ്റ് എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യുന്നതിനുള്ള റീജക്‌സ്

    ഞങ്ങൾ പ്രവർത്തിച്ച സമീപനംഅതിനെ അക്ഷരാർത്ഥത്തിൽ വ്യാഖ്യാനിക്കുക).

  • (?:[A-Za-z\d\-\.]{2,255}\.)? - മൂന്നാം-നില, നാലാം-നില, മുതലായവ ഡൊമെയ്‌നുകൾ തിരിച്ചറിയാൻ നോൺ-ക്യാപ്‌ചറിംഗ് ഗ്രൂപ്പ്, എന്തെങ്കിലും ഉണ്ടെങ്കിൽ (നമ്മുടെ സാമ്പിൾ URL-ൽ മൊബൈൽ ). ആദ്യ പാറ്റേണിൽ, എക്‌സ്‌ട്രാക്‌ഷനിലേക്ക് അത്തരം എല്ലാ സബ്‌ഡൊമെയ്‌നുകളും ഉൾപ്പെടുത്തുന്നതിന് ഇത് ഒരു വലിയ ക്യാപ്‌ചറിംഗ് ഗ്രൂപ്പിൽ സ്ഥാപിച്ചിരിക്കുന്നു. ഒരു ഉപഡൊമെയ്‌ന് 2 മുതൽ 255 പ്രതീകങ്ങൾ വരെ നീളമുണ്ടാകാം, അതിനാൽ {2,255} ക്വാണ്ടിഫയർ.
  • ([A-Za-z\d\-]{1,63}\.[A-Za-z] {2,24}) - രണ്ടാം ലെവൽ ഡൊമെയ്‌നും ( ablebits ) ടോപ്പ്-ലെവൽ ഡൊമെയ്‌നും ( com ) എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യാൻ ഗ്രൂപ്പ് ക്യാപ്‌ചർ ചെയ്യുന്നു. ഒരു രണ്ടാം ലെവൽ ഡൊമെയ്‌നിന്റെ പരമാവധി ദൈർഘ്യം 63 പ്രതീകങ്ങളാണ്. നിലവിൽ നിലവിലുള്ള ഏറ്റവും ദൈർഘ്യമേറിയ ടോപ്പ് ലെവൽ ഡൊമെയ്‌നിൽ 24 പ്രതീകങ്ങൾ അടങ്ങിയിരിക്കുന്നു.
  • A2-ൽ ഏത് റെഗുലർ എക്‌സ്‌പ്രഷനാണ് നൽകിയിരിക്കുന്നത് എന്നതിനെ ആശ്രയിച്ച്, ചുവടെയുള്ള ഫോർമുല വ്യത്യസ്ത ഫലങ്ങൾ പുറപ്പെടുവിക്കും:

    =AblebitsRegexExtract(A5, $A$2)

    എല്ലാ ഉപഡൊമെയ്‌നുകൾക്കൊപ്പം പൂർണ്ണമായ ഡൊമെയ്‌ൻ നാമം എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യാൻ Regex:

    ഉപഡൊമെയ്‌നുകളില്ലാതെ രണ്ടാം-നില ഡൊമെയ്‌ൻ എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യാൻ Regex:

    ഇങ്ങനെയാണ് എക്‌സലിലെ ടെക്‌സ്‌റ്റിന്റെ ഭാഗങ്ങൾ സാധാരണ എക്‌സ്‌പ്രഷനുകൾ ഉപയോഗിച്ച് എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യുന്നത്. വായിച്ചതിന് നന്ദി, അടുത്ത ആഴ്‌ച ഞങ്ങളുടെ ബ്ലോഗിൽ നിങ്ങളെ കാണാൻ കാത്തിരിക്കുന്നു!

    ലഭ്യമായ ഡൗൺലോഡുകൾ

    Excel Regex Extract ഉദാഹരണങ്ങൾ (.xlsm ഫയൽ)

    Ultimate Suite ട്രയൽ പതിപ്പ് (.exe ഫയൽ)

    \b(0?[0-9]പൊരുത്തം

    നിങ്ങൾക്ക് VBA-യിൽ കുറച്ച് പരിചയമുണ്ടെങ്കിൽ, ഒരു ഘട്ടം ഘട്ടമായുള്ള ഉപയോക്തൃ ഗൈഡ് സഹായകമായേക്കാം: Excel-ൽ VBA കോഡ് എങ്ങനെ ചേർക്കാം.

    ശ്രദ്ധിക്കുക. ഫംഗ്‌ഷൻ പ്രവർത്തിക്കുന്നതിന്, നിങ്ങളുടെ ഫയൽ മാക്രോ-പ്രാപ്‌തമാക്കിയ വർക്ക്‌ബുക്കായി (.xlsm) സംരക്ഷിക്കുന്നത് ഉറപ്പാക്കുക.

    RegExpExtract സിന്റാക്‌സ്

    RegExpExtract ഫംഗ്‌ഷൻ ഒരു സാധാരണ എക്‌സ്‌പ്രഷനുമായി പൊരുത്തപ്പെടുന്ന മൂല്യങ്ങൾക്കായി ഒരു ഇൻപുട്ട് സ്‌ട്രിംഗ് തിരയുകയും ഒന്നോ അല്ലെങ്കിൽ എല്ലാ പൊരുത്തങ്ങളും എക്‌സ്‌ട്രാക്റ്റുചെയ്യുകയും ചെയ്യുന്നു.

    ഫംഗ്ഷന് ഇനിപ്പറയുന്ന വാക്യഘടനയുണ്ട്. :

    RegExpExtract(ടെക്‌സ്റ്റ്, പാറ്റേൺ, [instance_num], [match_case])

    എവിടെ:

    • ടെക്‌സ്‌റ്റ് (ആവശ്യമാണ്) - തിരയാനുള്ള ടെക്‌സ്‌റ്റ് സ്‌ട്രിംഗ്.
    • പാറ്റേൺ (ആവശ്യമാണ്) - പൊരുത്തപ്പെടാനുള്ള പതിവ് എക്സ്പ്രഷൻ. ഒരു ഫോർമുലയിൽ നേരിട്ട് നൽകുമ്പോൾ, പാറ്റേൺ ഇരട്ട ഉദ്ധരണി ചിഹ്നങ്ങളിൽ ഉൾപ്പെടുത്തണം.
    • Instance_num (ഓപ്ഷണൽ) - ഏത് ഉദാഹരണമാണ് എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യേണ്ടതെന്ന് സൂചിപ്പിക്കുന്ന ഒരു സീരിയൽ നമ്പർ. ഒഴിവാക്കിയാൽ, കണ്ടെത്തിയ എല്ലാ പൊരുത്തങ്ങളും നൽകുന്നു (സ്ഥിരസ്ഥിതി).
    • Match_case (ഓപ്ഷണൽ) - ടെക്സ്റ്റ് കേസ് പൊരുത്തപ്പെടുത്തണോ അവഗണിക്കണോ എന്ന് നിർവചിക്കുന്നു. ശരിയോ ഒഴിവാക്കിയതോ ആണെങ്കിൽ (ഡിഫോൾട്ട്), കേസ്-സെൻസിറ്റീവ് പൊരുത്തപ്പെടുത്തൽ നടത്തുന്നു; FALSE - കേസ്-ഇൻസെൻസിറ്റീവ് ആണെങ്കിൽ.

    Excel 365, Excel 2021, Excel ന്റെ എല്ലാ പതിപ്പുകളിലും ഫംഗ്ഷൻ പ്രവർത്തിക്കുന്നു2019, Excel 2016, Excel 2013, Excel 2010.

    RegExpExtract-നെക്കുറിച്ച് നിങ്ങൾ അറിഞ്ഞിരിക്കേണ്ട 4 കാര്യങ്ങൾ

    നിങ്ങളുടെ Excel-ലെ പ്രവർത്തനം ഫലപ്രദമായി ഉപയോഗിക്കുന്നതിന്, ശ്രദ്ധിക്കേണ്ട ചില പ്രധാന കാര്യങ്ങളുണ്ട്:

    1. ഡിഫോൾട്ടായി, ഫംഗ്‌ഷൻ കണ്ടെത്തിയ എല്ലാ പൊരുത്തങ്ങളും ഈ ഉദാഹരണത്തിൽ കാണിച്ചിരിക്കുന്നതുപോലെ അയൽ സെല്ലുകളിലേക്ക് നൽകുന്നു. ഒരു നിർദ്ദിഷ്‌ട സംഭവം ലഭിക്കുന്നതിന്, instance_num ആർഗ്യുമെന്റിലേക്ക് അനുബന്ധ നമ്പർ നൽകുക.
    2. ഡിഫോൾട്ടായി, ഫംഗ്‌ഷൻ കേസ്-സെൻസിറ്റീവ് ആണ്. കേസ്-ഇൻസെൻസിറ്റീവ് പൊരുത്തപ്പെടുത്തലിനായി, match_case ആർഗ്യുമെന്റ് FALSE ആയി സജ്ജമാക്കുക. VBA പരിമിതികൾ കാരണം, കേസ്-ഇൻസെൻസിറ്റീവ് കൺസ്ട്രക്‌റ്റ് (?i) പ്രവർത്തിക്കില്ല.
    3. ഒരു സാധുവായ പാറ്റേൺ കണ്ടെത്തിയില്ലെങ്കിൽ , ഫംഗ്‌ഷൻ ഒന്നും നൽകുന്നില്ല (ശൂന്യമായ സ്ട്രിംഗ്).
    4. പാറ്റേൺ അസാധുവാണെങ്കിൽ , ഒരു #VALUE! പിശക് സംഭവിക്കുന്നു.

    നിങ്ങളുടെ വർക്ക്ഷീറ്റുകളിൽ ഈ ഇഷ്‌ടാനുസൃത ഫംഗ്‌ഷൻ ഉപയോഗിക്കാൻ തുടങ്ങുന്നതിന് മുമ്പ്, അതിന്റെ കഴിവ് എന്താണെന്ന് നിങ്ങൾ മനസ്സിലാക്കേണ്ടതുണ്ട്, അല്ലേ? ചുവടെയുള്ള ഉദാഹരണങ്ങൾ കുറച്ച് പൊതുവായ ഉപയോഗ കേസുകൾ ഉൾക്കൊള്ളുന്നു, കൂടാതെ ഡൈനാമിക് അറേ Excel (Microsoft 365, Excel 2021), പരമ്പരാഗത Excel (2019 ഉം പഴയ പതിപ്പുകളും) എന്നിവയിൽ സ്വഭാവം വ്യത്യാസപ്പെട്ടിരിക്കുന്നത് എന്തുകൊണ്ടെന്ന് വിശദീകരിക്കുന്നു.

    ശ്രദ്ധിക്കുക. ഫെയറി സിംപിൾ ഡാറ്റാ സെറ്റുകൾക്ക് ഔട്ട് റീജക്സ് ഉദാഹരണങ്ങൾ എഴുതിയിരിക്കുന്നു. നിങ്ങളുടെ യഥാർത്ഥ വർക്ക്ഷീറ്റുകളിൽ അവ കുറ്റമറ്റ രീതിയിൽ പ്രവർത്തിക്കുമെന്ന് ഞങ്ങൾക്ക് ഉറപ്പുനൽകാൻ കഴിയില്ല. പതിവ് പദപ്രയോഗങ്ങൾ എഴുതുന്നത് പൂർണതയിലേക്കുള്ള ഒരിക്കലും അവസാനിക്കാത്ത പാതയാണെന്ന് റീജക്‌സിൽ പരിചയമുള്ളവർ സമ്മതിക്കും - മിക്കവാറും എല്ലായ്‌പ്പോഴും ഉണ്ടാക്കാൻ ഒരു വഴിയുണ്ട്.ഇത് കൂടുതൽ ഗംഭീരമോ ഇൻപുട്ട് ഡാറ്റയുടെ വിശാലമായ ശ്രേണി കൈകാര്യം ചെയ്യാൻ കഴിവുള്ളതോ ആണ്.

    സ്‌ട്രിംഗിൽ നിന്ന് നമ്പർ എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യുന്നതിനുള്ള റീജക്‌സ്

    "ലളിതമായത് മുതൽ സങ്കീർണ്ണമായത് വരെ" പഠിപ്പിക്കുന്നതിന്റെ അടിസ്ഥാന മാക്സിം പിന്തുടർന്ന്, ഞങ്ങൾ വളരെ ലളിതമായ ഒരു കേസിൽ ആരംഭിക്കും: സ്ട്രിംഗിൽ നിന്ന് നമ്പർ എക്‌സ്‌ട്രാക്റ്റുചെയ്യുന്നു.

    നിങ്ങൾ ആദ്യം തീരുമാനിക്കേണ്ടത് ഏത് നമ്പർ വീണ്ടെടുക്കണം എന്നതാണ്: ആദ്യത്തേത്, അവസാനത്തേത്, നിർദ്ദിഷ്ട സംഭവം അല്ലെങ്കിൽ എല്ലാ സംഖ്യകളും.

    ആദ്യ നമ്പർ എക്‌സ്‌ട്രാക്റ്റ് ചെയ്യുക

    ഇത് റീജക്‌സിന് ലഭിക്കുന്നത് പോലെ ലളിതമാണ്. \d എന്നാൽ 0 മുതൽ 9 വരെയുള്ള ഏതെങ്കിലും അക്കവും + എന്നാൽ ഒന്നോ അതിലധികമോ തവണയും അർത്ഥമാക്കുന്നത്, ഞങ്ങളുടെ പതിവ് എക്സ്പ്രഷൻ ഈ രൂപത്തിലാണ്:

    പാറ്റേൺ : \d+

    സെറ്റ് instance_num മുതൽ 1 വരെ, നിങ്ങൾക്ക് ആവശ്യമുള്ള ഫലം ലഭിക്കും:

    =RegExpExtract(A5, "\d+", 1)

    A5 യഥാർത്ഥ സ്‌ട്രിംഗ് എവിടെയാണ്.

    സൗകര്യാർത്ഥം, നിങ്ങൾക്ക് ഇൻപുട്ട് ചെയ്യാം. മുൻകൂട്ടി നിശ്ചയിച്ച സെല്ലിലെ പാറ്റേൺ ($A$2 ) കൂടാതെ $ ചിഹ്നം ഉപയോഗിച്ച് അതിന്റെ വിലാസം ലോക്ക് ചെയ്യുക:

    =RegExpExtract(A5, $A$2, 1)

    അവസാന നമ്പർ നേടുക

    ഒരു സ്‌ട്രിംഗിലെ അവസാന നമ്പർ എക്‌സ്‌ട്രാക്‌റ്റ് ചെയ്യാൻ , ഉപയോഗിക്കാനുള്ള പാറ്റേൺ ഇതാ:

    പാറ്റേൺ : (\d+)(?!.*\d)

    ഒരു മനുഷ്യ ഭാഷയിലേക്ക് വിവർത്തനം ചെയ്‌തു , അത് പറയുന്നു: മറ്റേതെങ്കിലും നമ്പർ പിന്തുടരാത്ത (എവിടെയും, ഉടനടി മാത്രമല്ല) ഒരു നമ്പർ കണ്ടെത്തുക. ഇത് പ്രകടിപ്പിക്കാൻ, ഞങ്ങൾ ഒരു നെഗറ്റീവ് ലുക്ക്ഹെഡ് (?!.*\d) ഉപയോഗിക്കുന്നു, അതിനർത്ഥം പാറ്റേണിന്റെ വലതുവശത്ത് മറ്റ് എത്ര പ്രതീകങ്ങൾ ഉണ്ടെങ്കിലും മറ്റൊരു അക്കവും (\d) ഉണ്ടാകരുത് എന്നാണ്.

    =RegExpExtract(A5, "(\d+)(?!.*\d)")

    നുറുങ്ങുകൾ:

    • ഒരു നിർദ്ദിഷ്‌ട സംഭവം ലഭിക്കുന്നതിന്, പാറ്റേണിനും അനുയോജ്യമായ ഒരു സീരിയലിനും \d+ ഉപയോഗിക്കുക instance_num എന്നതിനായുള്ള നമ്പർ.
    • എല്ലാ അക്കങ്ങളും എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യുന്നതിനുള്ള ഫോർമുല അടുത്ത ഉദാഹരണത്തിൽ ചർച്ചചെയ്യുന്നു.

    എല്ലാ പൊരുത്തങ്ങളും എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യാനുള്ള റീജക്‌സ്

    ഞങ്ങളുടെ ഉദാഹരണം അൽപ്പം കൂടി മുന്നോട്ട് നീക്കിയാൽ, ഒരു സ്‌ട്രിംഗിൽ നിന്ന് എല്ലാ അക്കങ്ങളും നേടണമെന്ന് കരുതുക, ഒന്നല്ല.

    നിങ്ങൾ ഓർക്കുന്നതുപോലെ, എക്‌സ്‌ട്രാക്‌റ്റ് ചെയ്‌ത പൊരുത്തങ്ങളുടെ എണ്ണം നിയന്ത്രിക്കുന്നത് ഓപ്‌ഷണൽ <1 ആണ്>instance_num വാദം. ഡിഫോൾട്ട് എല്ലാ പൊരുത്തങ്ങളുമാണ്, അതിനാൽ നിങ്ങൾ ഈ പരാമീറ്റർ ഒഴിവാക്കുക:

    =RegExpExtract(A2, "\d+")

    ഒരു സെല്ലിൽ ഫോർമുല മനോഹരമായി പ്രവർത്തിക്കുന്നു, എന്നാൽ ഡൈനാമിക് അറേ എക്സൽ, നോൺ-ഡൈനാമിക് പതിപ്പുകൾ എന്നിവയിൽ സ്വഭാവം വ്യത്യാസപ്പെട്ടിരിക്കുന്നു.

    Excel 365, Excel 2021

    ഡൈനാമിക് അറേകൾക്കുള്ള പിന്തുണ കാരണം, കണക്കുകൂട്ടിയ എല്ലാ ഫലങ്ങളും പ്രദർശിപ്പിക്കുന്നതിന് ആവശ്യമായത്ര സെല്ലുകളിലേക്ക് ഒരു സാധാരണ ഫോർമുല സ്വയമേവ പകരുന്നു. Excel-ന്റെ അടിസ്ഥാനത്തിൽ, ഇതിനെ സ്‌പിൽഡ് റേഞ്ച് എന്ന് വിളിക്കുന്നു:

    Excel 2019 ഉം അതിൽ താഴെയും

    പ്രീ-ഡൈനാമിക് Excel-ൽ, മുകളിലുള്ള ഫോർമുല ഒരു പൊരുത്തം മാത്രം നൽകും. ഒന്നിലധികം പൊരുത്തങ്ങൾ ലഭിക്കുന്നതിന്, നിങ്ങൾ അതിനെ ഒരു അറേ ഫോർമുലയാക്കേണ്ടതുണ്ട്. ഇതിനായി, സെല്ലുകളുടെ ഒരു ശ്രേണി തിരഞ്ഞെടുക്കുക, ഫോർമുല ടൈപ്പ് ചെയ്യുക, അത് പൂർത്തിയാക്കാൻ Ctrl + Shift + Enter അമർത്തുക.

    "അധിക സെല്ലുകളിൽ" ദൃശ്യമാകുന്ന #N/A പിശകുകളുടെ ഒരു കൂട്ടമാണ് ഈ സമീപനത്തിന്റെ പോരായ്മ. . ഖേദകരമെന്നു പറയട്ടെ, ഇതിനെക്കുറിച്ച് ഒന്നും ചെയ്യാൻ കഴിയില്ല (IFERROR അല്ലെങ്കിൽ IFNA യ്‌ക്കോ ഇത് പരിഹരിക്കാൻ കഴിയില്ല, അയ്യോ).

    ഒരു സെല്ലിൽ എല്ലാ പൊരുത്തങ്ങളും എക്‌സ്‌ട്രാക്‌റ്റ് ചെയ്യുക

    ഡാറ്റയുടെ ഒരു കോളം പ്രോസസ്സ് ചെയ്യുമ്പോൾ, മുകളിൽ പറഞ്ഞ സമീപനം തീർച്ചയായും പ്രവർത്തിക്കില്ല. ഈ സാഹചര്യത്തിൽ, ഒരു അനുയോജ്യമായ പരിഹാരംഒരു സെല്ലിൽ എല്ലാ മത്സരങ്ങളും തിരികെ നൽകും. ഇത് ചെയ്യുന്നതിന്, RegExpExtract-ന്റെ ഫലങ്ങൾ TEXTJOIN ഫംഗ്‌ഷനിലേക്ക് നൽകുകയും നിങ്ങൾക്ക് ഇഷ്ടമുള്ള ഏതെങ്കിലും ഡിലിമിറ്റർ ഉപയോഗിച്ച് അവയെ വേർതിരിക്കുക, ഒരു കോമയും സ്‌പെയ്‌സും പറയുക:

    =TEXTJOIN(", ", TRUE, RegExpExtract(A5, "\d+"))

    ശ്രദ്ധിക്കുക. Microsoft 365, Excel 2021, Excel 2019 എന്നിവയ്‌ക്കായി TEXTJOIN ഫംഗ്‌ഷൻ Excel-ൽ മാത്രമേ ലഭ്യമാകൂ എന്നതിനാൽ, പഴയ പതിപ്പുകളിൽ ഫോർമുല പ്രവർത്തിക്കില്ല.

    സ്‌ട്രിംഗിൽ നിന്ന് ടെക്‌സ്‌റ്റ് എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യാൻ Regex

    ഇതിൽ നിന്ന് ടെക്‌സ്‌റ്റ് എക്‌സ്‌ട്രാക്‌റ്റ് ചെയ്യുന്നു Excel-ൽ ഒരു ആൽഫാന്യൂമെറിക് സ്ട്രിംഗ് തികച്ചും വെല്ലുവിളി നിറഞ്ഞ ഒരു ജോലിയാണ്. റീജക്സ് ഉപയോഗിച്ച്, ഇത് പൈ പോലെ എളുപ്പമാകും. അക്കമല്ലാത്ത എല്ലാം പൊരുത്തപ്പെടുത്താൻ ഒരു നിഷേധാത്മക ക്ലാസ് ഉപയോഗിക്കുക.

    പാറ്റേൺ : [^\d]+

    വ്യക്തിഗത സെല്ലുകളിൽ സബ്‌സ്‌ട്രിംഗുകൾ ലഭിക്കുന്നതിന് (സ്‌പിൽ റേഞ്ച്) , ഫോർമുല ഇതാണ്:

    =RegExpExtract(A5, "[^\d]+")

    എല്ലാ പൊരുത്തങ്ങളും ഒരു സെല്ലിലേക്ക് ഔട്ട്‌പുട്ട് ചെയ്യുന്നതിന്, TEXTJOIN-ൽ RegExpExtract ഫംഗ്‌ഷൻ ഇതുപോലെ നെസ്റ്റ് ചെയ്യുക:

    =TEXTJOIN("", TRUE, RegExpExtract(A5, "[^\d]+"))

    Regex to സ്‌ട്രിംഗിൽ നിന്ന് ഇമെയിൽ വിലാസം എക്‌സ്‌ട്രാക്റ്റുചെയ്യുക

    വ്യത്യസ്‌തമായ ധാരാളം വിവരങ്ങൾ അടങ്ങിയ സ്‌ട്രിംഗിൽ നിന്ന് ഒരു ഇമെയിൽ വിലാസം പുറത്തെടുക്കാൻ, ഇമെയിൽ വിലാസ ഘടനയെ ആവർത്തിക്കുന്ന ഒരു സാധാരണ പദപ്രയോഗം എഴുതുക.

    പാറ്റേൺ : [\w\.\-]+@[A-Za-z0-9\.\-]+\.[A-Za-z]{2,24}

    ഈ റീജക്‌സിനെ തകർക്കുന്നു , ഞങ്ങൾക്ക് ലഭിക്കുന്നത് ഇതാ:

    • [\w\.\-]+ എന്നത് ഒന്നോ അതിലധികമോ ആൽഫാന്യൂമെറിക് പ്രതീകങ്ങൾ, അടിവരകൾ, ഡോട്ടുകൾ, ഹൈഫനുകൾ എന്നിവ ഉൾപ്പെട്ടേക്കാവുന്ന ഒരു ഉപയോക്തൃനാമമാണ്.
    • @ ചിഹ്നം
    • [A-Za-z0-9\.\-]+ എന്നത് ഒരു ഡൊമെയ്ൻ നാമമാണ്: വലിയക്ഷരങ്ങളും ചെറിയക്ഷരങ്ങളും, അക്കങ്ങളും ഹൈഫനുകളും ഡോട്ടുകളും (കേസിൽഉപഡൊമെയ്‌നുകളുടെ). അണ്ടർസ്കോറുകൾ ഇവിടെ അനുവദനീയമല്ല, അതിനാൽ ഏതെങ്കിലും അക്ഷരം, അക്കം അല്ലെങ്കിൽ അടിവര എന്നിവയുമായി പൊരുത്തപ്പെടുന്ന \w എന്നതിന് പകരം 3 വ്യത്യസ്ത പ്രതീക സെറ്റുകൾ (A-Z a-z, 0-9 എന്നിവ) ഉപയോഗിക്കുന്നു.
    • \.[A-Za-z ]{2,24} ഒരു ഉയർന്ന തലത്തിലുള്ള ഡൊമെയ്‌നാണ്. വലിയക്ഷരങ്ങളും ചെറിയക്ഷരങ്ങളും ചേർന്ന് ഒരു ഡോട്ട് അടങ്ങിയിരിക്കുന്നു. ടോപ്പ് ലെവൽ ഡൊമെയ്‌നുകളിൽ ഭൂരിഭാഗവും 3-അക്ഷരങ്ങളുള്ളവയാണ് (ഉദാ. .com .org, .edu, മുതലായവ), എന്നാൽ സിദ്ധാന്തത്തിൽ അതിൽ 2 മുതൽ 24 വരെ അക്ഷരങ്ങൾ അടങ്ങിയിരിക്കാം (ഏറ്റവും ദൈർഘ്യമേറിയ രജിസ്റ്റർ ചെയ്ത TLD).

    സ്‌ട്രിംഗ് A5-ലും പാറ്റേൺ A2-ലും ആണെന്ന് കരുതുക, ഒരു ഇമെയിൽ വിലാസം എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യുന്നതിനുള്ള സൂത്രവാക്യം ഇതാണ്:

    =RegExpExtract(A5, $A$2)

    ഇമെയിലിൽ നിന്ന് ഡൊമെയ്‌ൻ എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യാനുള്ള Regex

    അത് എപ്പോൾ ഇമെയിൽ ഡൊമെയ്‌ൻ എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യുന്നതിലേക്കാണ് വരുന്നത്, @ പ്രതീകത്തെ ഉടൻ പിന്തുടരുന്ന ടെക്‌സ്‌റ്റ് കണ്ടെത്തുന്നതിന് ഒരു ക്യാപ്‌ചറിംഗ് ഗ്രൂപ്പ് ഉപയോഗിക്കുക എന്നതാണ് മനസ്സിൽ വരുന്ന ആദ്യത്തെ ചിന്ത.

    പാറ്റേൺ : @([A-Za-z0 -9\.\-]+\.[A-Za-z]{2,24})

    ഞങ്ങളുടെ RegExp ഫംഗ്‌ഷനിലേക്ക് ഇത് സേവിക്കുക:

    =RegExpExtract(A5, "@([A-Za-z0-9\.\-]+\.[A-Za-z]{2,24})")

    ഒപ്പം നിങ്ങൾക്ക് ഈ ഫലം ലഭിക്കും:

    ക്ലാസിക് റെഗുലർ എക്‌സ്‌പ്രഷനുകൾക്കൊപ്പം, ക്യാപ്‌ചറിംഗ് ഗ്രൂപ്പിന് പുറത്തുള്ള ഒന്നും എക്‌സ്‌ട്രാക്‌ഷനിൽ ഉൾപ്പെടുത്തിയിട്ടില്ല. VBA RegEx വ്യത്യസ്തമായി പ്രവർത്തിക്കുന്നതും "@" ക്യാപ്‌ചർ ചെയ്യുന്നതും എന്തുകൊണ്ടാണെന്ന് ആർക്കും അറിയില്ല. അതിൽ നിന്ന് രക്ഷനേടാൻ, ഫലത്തിൽ നിന്ന് ആദ്യത്തെ പ്രതീകം ശൂന്യമായ ഒരു സ്ട്രിംഗ് ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുന്നതിലൂടെ നിങ്ങൾക്ക് അത് നീക്കംചെയ്യാം.

    =REPLACE(RegExpExtract(A5, "@([a-z\d][a-z\d\-\.]*\.[a-z]{2,})", 1, FALSE), 1, 1, "")

    ഫോൺ നമ്പറുകൾ എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യുന്നതിനുള്ള റെഗുലർ എക്‌സ്‌പ്രഷൻ

    ഫോൺ നമ്പറുകൾ പല തരത്തിൽ എഴുതാം, അതിനാലാണ് എല്ലാറ്റിനും കീഴിൽ പ്രവർത്തിക്കുന്ന ഒരു പരിഹാരം കൊണ്ടുവരുന്നത് അസാധ്യമായത്(\d{4}സ്‌ട്രിംഗിൽ നിന്ന്

    ഒരു തീയതി എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യുന്നതിനുള്ള ഒരു സാധാരണ എക്‌സ്‌പ്രഷൻ, ഒരു സ്‌ട്രിംഗിനുള്ളിൽ തീയതി ദൃശ്യമാകുന്ന ഫോർമാറ്റിനെ ആശ്രയിച്ചിരിക്കുന്നു. ഉദാഹരണത്തിന്:

    1/1/21 അല്ലെങ്കിൽ 01/01/2021 പോലുള്ള തീയതികൾ എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യുന്നതിന്, റീജക്‌സ് ഇതാണ്: \d{1,2}\/\d{1,2}\/(\d {4}സാഹചര്യങ്ങൾ. എന്നിരുന്നാലും, നിങ്ങളുടെ ഡാറ്റാസെറ്റിൽ ഉപയോഗിച്ചിരിക്കുന്ന എല്ലാ ഫോർമാറ്റുകളും നിങ്ങൾക്ക് എഴുതി അവ പൊരുത്തപ്പെടുത്താൻ ശ്രമിക്കാവുന്നതാണ്.

    ഈ ഉദാഹരണത്തിനായി, ഈ ഫോർമാറ്റുകളിലേതെങ്കിലും ഫോൺ നമ്പറുകൾ എക്‌സ്‌ട്രാക്‌റ്റ് ചെയ്യുന്ന ഒരു റീജക്‌സ് ഞങ്ങൾ സൃഷ്‌ടിക്കാൻ പോകുന്നു:

    (123) 345-6789

    (123) 345 6789

    (123)3456789

    123- 345-6789

    123.345.6789

    123 345 6789

    1233456789

    0> പാറ്റേൺ : \(?\d{3}[-\. \)]*\d{3}[-\. ]?\d{4}\b
    • ആദ്യ ഭാഗം \(?\d{3} പൂജ്യം അല്ലെങ്കിൽ ഒരു ഓപ്പണിംഗ് പരാന്തീസിസും തുടർന്ന് മൂന്ന് അക്കങ്ങളും d{3}.
    • [-\. \)]* ഭാഗം എന്നാൽ 0 അല്ലെങ്കിൽ അതിൽ കൂടുതൽ തവണ ദൃശ്യമാകുന്ന ചതുര ബ്രാക്കറ്റുകളിലെ ഏതെങ്കിലും പ്രതീകം അർത്ഥമാക്കുന്നു: ഹൈഫൻ, പിരീഡ്, സ്‌പെയ്‌സ് അല്ലെങ്കിൽ ക്ലോസിംഗ് പരാൻതീസിസ്.
    • അടുത്തതായി, നമുക്ക് മൂന്ന് അക്കങ്ങൾ വീണ്ടും ഉണ്ട് d{3} തുടർന്ന് ഏതെങ്കിലും ഹൈഫൻ, കാലഘട്ടം അല്ലെങ്കിൽ സ്ഥലം [-\. ]? 0 അല്ലെങ്കിൽ 1 തവണ ദൃശ്യമാകുന്നു.
    • അതിനുശേഷം, നാല് അക്കങ്ങളുടെ ഒരു ഗ്രൂപ്പുണ്ട് \d{4}.
    • അവസാനമായി, ഒരു പദ അതിരുണ്ട് \b ഞങ്ങൾ ഒരു ഫോൺ നമ്പറാണെന്ന് നിർവചിക്കുന്നു. തിരയുന്നത് ഒരു വലിയ സംഖ്യയുടെ ഭാഗമാകാൻ കഴിയില്ല.

    പൂർണ്ണമായ സൂത്രവാക്യം ഈ രൂപത്തിലാണ്:

    =RegExpExtract(A5, "\(?\d{3}[-\. \)]*\d{3}[-\. ]?\d{4}\b")

    മുകളിലുള്ള റീജക്‌സ് കുറച്ച് നൽകിയേക്കാമെന്ന് ദയവായി ശ്രദ്ധിക്കുക 123) 456 7899 അല്ലെങ്കിൽ (123 456 7899 പോലുള്ള തെറ്റായ പോസിറ്റീവ് ഫലങ്ങൾ. ചുവടെയുള്ള പതിപ്പ് ഈ പ്രശ്നങ്ങൾ പരിഹരിക്കുന്നു. എന്നിരുന്നാലും, ഈ വാക്യഘടന VBA RegExp ഫംഗ്ഷനുകളിൽ മാത്രമേ പ്രവർത്തിക്കൂ, ക്ലാസിക് റെഗുലർ എക്സ്പ്രഷനുകളിൽ അല്ല.

    പാറ്റേൺ : (\(\d{3}\)രണ്ട് പ്രതീകങ്ങൾക്കിടയിലുള്ള ടെക്‌സ്‌റ്റ് പുറത്തെടുക്കുന്നതിന് രണ്ട് സ്‌ട്രിംഗുകൾക്കിടയിൽ ടെക്‌സ്‌റ്റ് എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യുന്നതിനും പ്രവർത്തിക്കും.

    ഉദാഹരണത്തിന്, "ടെസ്റ്റ് 1" നും "ടെസ്റ്റ് 2" നും ഇടയിലുള്ള എല്ലാം ലഭിക്കുന്നതിന്, ഇനിപ്പറയുന്ന പതിവ് എക്‌സ്‌പ്രഷൻ ഉപയോഗിക്കുക.

    പാറ്റേൺ : test 1(.*?)test 2

    പൂർണ്ണമായ സൂത്രവാക്യം ഇതാണ്:

    =AblebitsRegexExtract(A5, "test 1(.*?)test 2")

    URL-ൽ നിന്ന് ഡൊമെയ്‌ൻ എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യാൻ Regex

    പതിവ് എക്സ്പ്രഷനുകൾ ഉപയോഗിച്ച് പോലും, URL-കളിൽ നിന്ന് ഡൊമെയ്ൻ നാമങ്ങൾ എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യുന്നത് നിസ്സാരമായ കാര്യമല്ല. ക്യാപ്‌ചർ ചെയ്യാത്ത ഗ്രൂപ്പുകളാണ് തന്ത്രം ചെയ്യുന്ന പ്രധാന ഘടകം. നിങ്ങളുടെ ആത്യന്തിക ലക്ഷ്യത്തെ ആശ്രയിച്ച്, ചുവടെയുള്ള റീജക്‌സുകളിൽ ഒന്ന് തിരഞ്ഞെടുക്കുക.

    സബ്‌ഡൊമെയ്‌നുകൾ ഉൾപ്പെടെ പൂർണ്ണമായ ഡൊമെയ്‌ൻ നാമം ലഭിക്കുന്നതിന്

    പാറ്റേൺ : (?: https?\:

    സോഫ്‌റ്റ്‌വെയർ ടൂളുകൾ ഉപയോഗിച്ച് സങ്കീർണ്ണമായ പ്രക്രിയകൾ ലളിതമാക്കുന്നതിനുള്ള അഭിനിവേശമുള്ള ഒരു സമർപ്പിത സാങ്കേതിക തത്പരനാണ് മൈക്കൽ ബ്രൗൺ. ടെക് വ്യവസായത്തിൽ ഒരു ദശാബ്ദത്തിലേറെ അനുഭവസമ്പത്തുള്ള അദ്ദേഹം, മൈക്രോസോഫ്റ്റ് എക്സൽ, ഔട്ട്‌ലുക്ക്, ഗൂഗിൾ ഷീറ്റ്, ഡോക്‌സ് എന്നിവയിൽ തന്റെ കഴിവുകൾ മെച്ചപ്പെടുത്തിയിട്ടുണ്ട്. ഉൽപ്പാദനക്ഷമതയും കാര്യക്ഷമതയും മെച്ചപ്പെടുത്തുന്നതിന് പിന്തുടരാൻ എളുപ്പമുള്ള നുറുങ്ങുകളും ട്യൂട്ടോറിയലുകളും നൽകിക്കൊണ്ട്, തന്റെ അറിവും വൈദഗ്ധ്യവും മറ്റുള്ളവരുമായി പങ്കിടുന്നതിനാണ് മൈക്കിളിന്റെ ബ്ലോഗ് സമർപ്പിച്ചിരിക്കുന്നത്. നിങ്ങൾ പരിചയസമ്പന്നനായ പ്രൊഫഷണലോ തുടക്കക്കാരനോ ആകട്ടെ, ഈ അവശ്യ സോഫ്റ്റ്‌വെയർ ടൂളുകൾ പരമാവധി പ്രയോജനപ്പെടുത്തുന്നതിനുള്ള വിലയേറിയ ഉൾക്കാഴ്ചകളും പ്രായോഗിക ഉപദേശങ്ങളും മൈക്കിളിന്റെ ബ്ലോഗ് വാഗ്ദാനം ചെയ്യുന്നു.