Regex om strings in Excel te extraheren (één of alle overeenkomsten)

  • Deel Dit
Michael Brown

In deze handleiding leert u hoe u reguliere uitdrukkingen in Excel kunt gebruiken om substrings die aan een bepaald patroon voldoen te vinden en te extraheren.

Microsoft Excel biedt een aantal functies om tekst uit cellen te extraheren. Deze functies kunnen de meeste uitdagingen op het gebied van het extraheren van strings in uw werkbladen aan. De meeste, maar niet alle. Wanneer de tekstfuncties haperen, komen reguliere expressies te hulp. Wacht... Excel heeft geen RegEx functies! Inderdaad, geen ingebouwde functies. Maar niets belet u om uw eigen functies te gebruiken :)

    Excel VBA Regex functie om strings te extraheren

    Om een aangepaste Regex Extract-functie aan uw Excel toe te voegen, plakt u de volgende code in de VBA-editor. Om reguliere expressies in VBA mogelijk te maken, gebruiken we het ingebouwde Microsoft RegExp-object.

    Openbare functie RegExpExtract(text As String , pattern As String , Optional instance_num As Integer = 0, Optional match_case As Boolean = True ) Dim text_matches() As String Dim matches_index As Integer On Error GoTo ErrHandl RegExpExtract = "" Set regex = CreateObject ( "VBScript.RegExp" ) regex.pattern = pattern regex.Global = True regex.MultiLine = True Als True = match_case Danregex.ignorecase = False Else regex.ignorecase = True End If Set matches = regex.Execute(text) If 0 <matches.Count Then If (0 = instance_num) Then ReDim text_matches(matches.Count - 1, 0) For matches_index = 0 To matches.Count - 1 text_matches(matches_index, 0) = matches.Item(matches_index) Next matches_index RegExpExtract = text_matches Else RegExpExtract = matches.Item(instance_num - 1) EndIf End If Exit Functie ErrHandl: RegExpExtract = CVErr(xlErrValue) End Function

    Als u weinig ervaring hebt met VBA, kan een stap-voor-stap handleiding nuttig zijn: Hoe VBA-code in Excel invoegen.

    Opmerking. Om de functie te laten werken, moet u uw bestand opslaan als een werkmap met macro's (.xlsm).

    RegExpExtract syntaxis

    De RegExpExtract functie doorzoekt een invoerstring naar waarden die overeenkomen met een reguliere uitdrukking en haalt één of alle overeenkomsten eruit.

    De functie heeft de volgende syntaxis:

    RegExpExtract(tekst, patroon, [instance_num], [match_case])

    Waar:

    • Tekst (verplicht) - de tekststring om in te zoeken.
    • Patroon (vereist) - de reguliere uitdrukking die moet worden gevonden. Wanneer het patroon rechtstreeks in een formule wordt ingevoerd, moet het tussen dubbele aanhalingstekens staan.
    • Instance_num (optioneel) - een volgnummer dat aangeeft welke instantie moet worden uitgepakt. Indien weggelaten, worden alle gevonden overeenkomsten geretourneerd (standaard).
    • Geval (optioneel) - bepaalt of hoofdletters en kleine letters in de tekst moeten worden overgenomen of genegeerd. Indien TRUE of weggelaten (standaard), wordt hoofdlettergevoelig overgenomen; indien FALSE - hoofdletterongevoelig.

    De functie werkt in alle versies van Excel 365, Excel 2021, Excel 2019, Excel 2016, Excel 2013 en Excel 2010.

    4 dingen die u moet weten over RegExpExtract

    Om de functie effectief te gebruiken in uw Excel, zijn er een paar belangrijke dingen waar u op moet letten:

    1. Standaard retourneert de functie alle gevonden overeenkomsten in naburige cellen zoals in dit voorbeeld. Om een specifiek voorval te krijgen, geef je een overeenkomstig nummer aan de instantie_nummer argument.
    2. Standaard is de functie hoofdlettergevoelig Voor hoofdletteronafhankelijke aanpassing stelt u de match_case Vanwege de VBA-beperkingen werkt de hoofdletterongevoelige constructie (?i) niet.
    3. Als een geldig patroon is niet gevonden geeft de functie niets terug (lege string).
    4. Als de patroon is ongeldig treedt er een #VALUE! fout op.

    Voordat u deze aangepaste functie in uw werkbladen gaat gebruiken, moet u begrijpen waartoe deze in staat is, toch? De onderstaande voorbeelden behandelen enkele veelvoorkomende gebruikssituaties en leggen uit waarom het gedrag kan verschillen in Dynamic Array Excel (Microsoft 365 en Excel 2021) en traditionele Excel (2019 en oudere versies).

    Opmerking. De regex voorbeelden zijn geschreven voor eenvoudige gegevensverzamelingen. Wij kunnen niet garanderen dat ze foutloos werken in uw echte werkbladen. Degenen die ervaring hebben met regex zullen het ermee eens zijn dat het schrijven van reguliere expressies een nooit eindigende weg naar perfectie is - bijna altijd is er een manier om het eleganter te maken of in staat om een breder scala aan invoergegevens te verwerken.

    Regex om getal uit string te halen

    Volgens de basisregel van het onderwijs "van eenvoudig naar complex", beginnen we met een zeer eenvoudig geval: het extraheren van een getal uit een string.

    Het eerste wat u moet beslissen is welk nummer u ophaalt: het eerste, het laatste, een specifieke gebeurtenis of alle nummers.

    Eerste nummer uitpakken

    Dit is zo eenvoudig als regex kan zijn. Gegeven dat \d elk cijfer van 0 tot 9 betekent, en + betekent een of meer keren, neemt onze reguliere expressie deze vorm aan:

    Patroon : \d+

    Stel instantie_nummer op 1 en je krijgt het gewenste resultaat:

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

    Waarbij A5 de originele string is.

    Voor het gemak kunt u het patroon invoeren in een vooraf gedefinieerde cel ($A$2 ) en het adres ervan vergrendelen met het $-teken:

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

    Krijg laatste nummer

    Om het laatste getal uit een string te halen, is dit het te gebruiken patroon:

    Patroon : (\d+)(?!.*)

    Vertaald in mensentaal zegt het: zoek een getal dat niet gevolgd wordt (nergens, niet alleen onmiddellijk) door een ander getal. Om dit uit te drukken gebruiken we een negatieve lookahead (?!.*\d), wat betekent dat er rechts van het patroon geen ander cijfer (\d) mag staan, ongeacht hoeveel andere tekens ervoor staan.

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

    Tips:

    • Om een specifieke gebeurtenis gebruik \d+ voor patroon en een passend serienummer voor instantie_nummer .
    • De formule om alle nummers wordt in het volgende voorbeeld besproken.

    Regex om alle overeenkomsten te extraheren

    Ons voorbeeld iets verder uitdiepen, stel dat u alle getallen uit een string wilt halen, niet slechts één.

    Zoals u zich wellicht herinnert, wordt het aantal geëxtraheerde overeenkomsten bepaald door het optionele instantie_nummer De standaard is alle overeenkomsten, dus u kunt deze parameter gewoon weglaten:

    =RegExpExtract(A2, "\d+")

    De formule werkt prachtig voor een enkele cel, maar het gedrag verschilt in Dynamic Array Excel en niet-dynamische versies.

    Excel 365 en Excel 2021

    Door de ondersteuning van dynamische matrices loopt een gewone formule automatisch uit in zoveel cellen als nodig is om alle berekende resultaten weer te geven. In termen van Excel heet dit een uitgelopen bereik:

    Excel 2019 en lager

    In pre-dynamisch Excel zou de bovenstaande formule slechts één overeenkomst opleveren. Om meerdere overeenkomsten te krijgen, moet u er een matrixformule van maken. Selecteer hiervoor een cellenbereik, typ de formule en druk op Ctrl + Shift + Enter om deze te voltooien.

    Een nadeel van deze aanpak is een heleboel #N/A-fouten in "extra cellen", waar helaas niets aan gedaan kan worden (noch IFERROR, noch IFNA kunnen dit oplossen, helaas).

    Extraheer alle overeenkomsten in één cel

    Wanneer u een kolom met gegevens verwerkt, werkt de bovenstaande aanpak natuurlijk niet. In dat geval zou een ideale oplossing zijn om alle overeenkomsten in een enkele cel terug te geven. Om dat te doen, serveert u de resultaten van RegExpExtract aan de functie TEXTJOIN en scheidt u ze met een willekeurig scheidingsteken, bijvoorbeeld een komma en een spatie:

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

    Opmerking. Omdat de TEXTJOIN-functie alleen beschikbaar is in Excel voor Microsoft 365, Excel 2021 en Excel 2019, zal de formule niet werken in oudere versies.

    Regex om tekst uit een string te halen

    Tekst uit een alfanumerieke tekenreeks halen is een behoorlijke uitdaging in Excel. Met regex wordt het een fluitje van een cent. Gebruik gewoon een ontkennende klasse om alles wat geen cijfer is te matchen.

    Patroon : [^\d]+

    Om substrings in individuele cellen (spill range) te krijgen, is de formule:

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

    Om alle overeenkomsten in één cel uit te voeren, nestelt u de functie RegExpExtract in TEXTJOIN als volgt:

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

    Regex om e-mailadres uit string te halen

    Om een e-mailadres te halen uit een string die veel verschillende informatie bevat, schrijf je een reguliere expressie die de structuur van het e-mailadres nabootst.

    Patroon : [\w\.\-]+@[A-Za-z0-9\.\-]+\.[A-Za-z]{2,24}

    Als we deze regex analyseren, krijgen we het volgende:

    • [\w.\-]+ is een gebruikersnaam die 1 of meer alfanumerieke tekens, underscores, punten en koppeltekens kan bevatten.
    • @ symbool
    • [A-Za-z0-9.\-]+ is een domeinnaam die bestaat uit: hoofdletters en kleine letters, cijfers, koppeltekens en punten (in het geval van subdomeinen). Underscores zijn hier niet toegestaan, daarom worden 3 verschillende tekensets (zoals A-Z a-z en 0-9) gebruikt in plaats van \w dat overeenkomt met elke letter, cijfer of underscore.
    • \[A-Za-z]{2,24} is een topleveldomein. Bestaat uit een punt gevolgd door hoofdletters en kleine letters. De meeste topleveldomeinen zijn 3 letters lang (bv. .com .org, .edu, enz.), maar in theorie kan het 2 tot 24 letters bevatten (de langste geregistreerde TLD).

    Ervan uitgaande dat de string in A5 staat en het patroon in A2, is de formule om een e-mailadres te extraheren:

    =RegExpExtract(A5, $A$2)

    Regex om domein uit e-mail te halen

    Als het gaat om het extraheren van e-maildomeinen, is de eerste gedachte die bij u opkomt het gebruik van een capturing group om tekst te vinden die onmiddellijk volgt op het @ teken.

    Patroon : @([A-Za-z0-9\.\-]+\.[A-Za-z]{2,24})

    Stuur het naar onze RegExp-functie:

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

    En je krijgt dit resultaat:

    Bij klassieke reguliere expressies wordt alles buiten een afvanggroep niet meegenomen in de extractie. Niemand weet waarom VBA RegEx anders werkt en ook "@" afvangt. Om er vanaf te komen, kunt u het eerste teken uit het resultaat verwijderen door het te vervangen door een lege tekenreeks.

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

    Reguliere expressie om telefoonnummers te extraheren

    Telefoonnummers kunnen op veel verschillende manieren worden geschreven, en daarom is het bijna onmogelijk om een oplossing te bedenken die onder alle omstandigheden werkt. Toch kunt u alle formaten die in uw dataset worden gebruikt opschrijven en proberen ze te matchen.

    Voor dit voorbeeld gaan we een regex maken die telefoonnummers in elk van deze formaten extraheert:

    (123) 345-6789

    (123) 345 6789

    (123)3456789

    123-345-6789

    123.345.6789

    123 345 6789

    1233456789

    Patroon : ?\d{3}[-{3}]*\d{3}[-{4}]*.

    • Het eerste deel \d{3} komt overeen met nul of één openstaande haakjes gevolgd door drie cijfers d{3}.
    • Het deel [-. \)]* betekent elk teken tussen vierkante haken dat 0 of meer keren voorkomt: koppelteken, punt, spatie of afsluitende haakjes.
    • Vervolgens hebben we weer drie cijfers d{3} gevolgd door een koppelteken, punt of spatie [- ]? die 0 of 1 keer voorkomt.
    • Daarna volgt een groep van vier cijfers.
    • Tenslotte is er een woordgrens die bepaalt dat een telefoonnummer dat we zoeken geen deel kan uitmaken van een groter nummer.

    De volledige formule neemt deze vorm aan:

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

    De bovenstaande regex kan enkele fout-positieve resultaten opleveren, zoals 123) 456 7899 of (123 456 7899. De onderstaande versie verhelpt deze problemen. Deze syntaxis werkt echter alleen in VBA RegExp-functies, niet in klassieke reguliere expressies.

    Patroon : (\(\d{3}\)

    Regex om datum uit string te halen

    Een reguliere expressie voor het extraheren van een datum is afhankelijk van het formaat waarin de datum in een string voorkomt. Bijvoorbeeld:

    Om data te extraheren zoals 1/1/21 of 01/01/2021, is de regex: \d{1,2}{1,2}{4}

    Het zoekt naar een groep van 1 of 2 cijfers d{1,2} gevolgd door een schuine streep, gevolgd door een andere groep van 1 of 2 cijfers, gevolgd door een schuine streep, gevolgd door een groep van 4 of 2 cijfers (\d{4}eerste voorwaarde in de alternatie OF-constructie wordt geëvenaard, worden de overige voorwaarden niet gecontroleerd.

    Om data op te halen zoals 1-Jan-21 of 01-Jan-2021, is het patroon: \d{1,2}-[A-Za-z]{3}-{2,4}.

    Het zoekt naar een groep van 1 of 2 cijfers, gevolgd door een koppelteken, gevolgd door een groep van 3 hoofdletters of kleine letters, gevolgd door een koppelteken, gevolgd door een groep van 4 of 2 cijfers.

    Na het combineren van de twee patronen krijgen we de volgende regex:

    Patroon : \b{1,2}[\/-](\d{1,2}).

    Waar:

    • Het eerste deel is 1 of 2 cijfers: {1,2}
    • Het tweede deel bestaat uit 1 of 2 cijfers of 3 letters: (\d{1,2}
    • Het derde deel is een groep van 4 of 2 cijfers: (\d{4}
    • Scheidingsteken is ofwel een schuine streep of een koppelteken: [¼].
    • Een woordgrens wordt aan beide zijden geplaatst om duidelijk te maken dat een datum een apart woord is, en geen deel van een grotere string.

    Zoals u in de onderstaande afbeelding kunt zien, haalt het met succes data eruit en laat het substrings zoals 11/22/333 weg. Het geeft echter nog steeds vals-positieve resultaten. In ons geval komt de subring 11-ABC-2222 in A9 technisch gezien overeen met het datumformaat dd-mmm-jjjj en wordt daarom geëxtraheerd.

    Om valse positieven te elimineren, kunt u het [A-Za-z]{3} gedeelte vervangen door een volledige lijst van 3-letterige maandafkortingen:

    Patroon : \b{1,2}[\/-](\d{1,2}).

    Om de hoofdletter te negeren, zetten we het laatste argument van onze aangepaste functie op FALSE:

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

    En deze keer krijgen we een perfect resultaat:

    Regex om tijd uit een string te halen

    Om tijd te krijgen in de hh:mm of hh:mm:ss formaat, werkt de volgende uitdrukking prima.

    Patroon : \b(0?[0-9]

    Als u deze regex opsplitst, ziet u 2 delen, gescheiden door

    Uiting 1 : \b(0?[0-9]

    Haalt tijden op met AM/PM.

    Uur kan elk getal zijn van 0 tot 12. Om het te krijgen gebruiken we de OR-constructie ([0-9]

    • [0-9] komt overeen met elk getal van 0 tot 9
    • 1[0-2] komt overeen met elk getal van 10 tot 12

    Minuut [0-5]ijn willekeurige getallen van 00 tot 59.

    Tweede (:[0-5]\d)? is ook een willekeurig getal van 00 tot 59. De ? kwantor betekent nul of één voorkomen, aangezien seconden al dan niet in de tijdswaarde kunnen worden opgenomen.

    Expressie 2 : \b([0-9]

    Neemt tijden zonder AM/PM.

    De uur deel kan elk getal zijn van 0 tot 32. Om het te krijgen moet een andere OR-constructie ([0-9]

    • [0-9] komt overeen met elk getal van 0 tot 9
    • [0-1] komt overeen met elk nummer van 00 tot 19.
    • 2[0-3] komt overeen met elk getal van 20 tot 23

    De minuut en tweede delen zijn dezelfde als in uitdrukking 1 hierboven.

    De negatieve lookahead (?!:) wordt toegevoegd aan overgeslagen reeksen zoals 20:30:80.

    Aangezien PM/AM zowel hoofdletters als kleine letters kunnen zijn, maken we de functie hoofdletterongevoelig:

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

    Hopelijk hebben de bovenstaande voorbeelden u enkele ideeën gegeven over hoe u reguliere expressies kunt gebruiken in uw Excel werkbladen. Helaas worden niet alle functies van klassieke reguliere expressies ondersteund in VBA. Als uw taak niet kan worden uitgevoerd met VBA RegExp, moedig ik u aan het volgende deel te lezen waarin veel krachtigere .NET Regex functies worden besproken.

    Aangepaste .NET Regex functie om tekst te extraheren in Excel

    In tegenstelling tot VBA RegExp functies die kunnen worden geschreven door elke Excel gebruiker, is .NET RegEx het domein van de ontwikkelaar. Het Microsoft .NET Framework ondersteunt een volledige regular expression syntaxis die compatibel is met Perl 5. Dit artikel zal je niet leren hoe je dergelijke functies moet schrijven (ik ben geen programmeur en heb geen flauw idee hoe dat moet :)

    Vier krachtige functies die verwerkt worden door de standaard .NET RegEx engine zijn al geschreven door onze ontwikkelaars en opgenomen in Ultimate Suite. Hieronder demonstreren we enkele praktische toepassingen van de functie die speciaal ontworpen is voor het extraheren van tekst in Excel.

    Tip. Voor informatie over de .NET Regex syntaxis, zie .NET Regular Expression Language.

    Hoe in Excel angels te extraheren met behulp van reguliere expressies

    Ervan uitgaande dat u de laatste versie van Ultimate Suite geïnstalleerd heeft, komt het extraheren van tekst met behulp van reguliere expressies neer op deze twee stappen:

    1. Op de Ablebits gegevens tabblad, in de Tekst groep, klik Regex gereedschap .
    2. Op de Regex gereedschap deelvenster, selecteer de brongegevens, voer uw Regex-patroon in en kies de Uittreksel Om het resultaat als een aangepaste functie te krijgen, niet als een waarde, selecteert u de optie Invoegen als een formule Wanneer u klaar bent, klikt u op de Uittreksel knop.

    De resultaten verschijnen in een nieuwe kolom rechts van uw oorspronkelijke gegevens:

    AblebitsRegexExtract syntaxis

    Onze aangepaste functie heeft de volgende syntaxis:

    AblebitsRegexExtract(referentie, reguliere_expressie)

    Waar:

    • Referentie (vereist) - een verwijzing naar de cel die de bronstring bevat.
    • Regelmatige_expressie (vereist) - het regex-patroon dat moet overeenkomen.

    Belangrijke opmerking! De functie werkt alleen op machines waarop Ultimate Suite for Excel is geïnstalleerd.

    Gebruiksaanwijzingen

    Om uw leercurve soepeler en uw ervaring aangenamer te maken, dient u op deze punten te letten:

    1. Om een formule te maken, kunt u onze Regex gereedschap of Excel's Functie invoegen Zodra de formule is ingevoegd, kunt u deze beheren (bewerken, kopiëren of verplaatsen) zoals elke andere oorspronkelijke formule.
    2. Het patroon dat u invoert op de Regex gereedschap gaat naar het 2e argument. Het is ook mogelijk om een reguliere expressie in een aparte cel te houden. In dat geval gebruikt u gewoon een celverwijzing voor het 2e argument.
    3. De functie haalt de eerste gevonden overeenkomst .
    4. Standaard is de functie hoofdlettergevoelig Voor hoofdletteronafhankelijke aanpassing gebruikt u het (?i) patroon.
    5. Indien geen overeenkomst wordt gevonden, wordt een #N/A-fout teruggezonden.

    Regex om string tussen twee karakters te extraheren

    Om tekst tussen twee tekens te krijgen, kunt u gebruik maken van een opnamegroep of look-arounds.

    Laten we zeggen dat u tekst tussen haakjes wilt extraheren. Een opnamegroep is de eenvoudigste manier.

    Patroon 1 : \[(.*?)\]

    Met een positieve lookbehind en lookahead zal het resultaat precies hetzelfde zijn.

    Patroon 2 : (?<==[)(.*?)(?=])

    Let erop dat onze capture groep (.*?) een lui zoeken voor tekst tussen twee haakjes - van de eerste [ tot de eerste ]. Een captatiegroep zonder vraagteken (.*) zou een gretig zoeken en alles van de eerste tot de laatste vastleggen.

    Met het patroon in A2 gaat de formule als volgt:

    =AblebitsRegexExtract(A5, $A$2)

    Hoe krijg je alle wedstrijden

    Zoals reeds vermeld, kan de AblebitsRegexExtract-functie slechts één overeenkomst extraheren. Om alle overeenkomsten te krijgen, kunt u de VBA-functie gebruiken die we eerder hebben besproken. Er is echter één voorbehoud - VBA RegExp ondersteunt het vastleggen van groepen niet, dus het bovenstaande patroon zal ook de "grens"-tekens retourneren, haakjes in ons geval.

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

    Om de haakjes te verwijderen, vervangt u ze door lege tekenreeksen ("") met deze formule:

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

    Voor een betere leesbaarheid gebruiken wij een komma als scheidingsteken.

    Regex om tekst tussen twee strings te extraheren

    De aanpak die we hebben uitgewerkt om tekst tussen twee tekens eruit te halen, werkt ook om tekst tussen twee tekenreeksen eruit te halen.

    Om bijvoorbeeld alles tussen "test 1" en "test 2" te krijgen, gebruikt u de volgende reguliere expressie.

    Patroon : test 1(.*?)test 2

    De volledige formule is:

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

    Regex om domein uit URL te halen

    Zelfs met reguliere expressies is het extraheren van domeinnamen uit URL's geen triviale taak. Het sleutelelement dat de truc klaart, zijn niet-captureerbare groepen. Afhankelijk van uw uiteindelijke doel, kiest u een van de onderstaande regexen.

    Om een volledige domeinnaam inclusief subdomeinen

    Patroon (?:https?)

    Om een tweede niveau domein zonder subdomeinen

    Patroon (?:https?)

    Laten we nu eens kijken hoe deze reguliere expressies werken op een voorbeeld van "//www.mobile.ablebits.com" als voorbeeld-URL:

    • (?:https?)
    • \/ - twee forward slashes (elk wordt voorafgegaan door een backslash om aan de speciale betekenis van de forward slash te ontsnappen en deze letterlijk te interpreteren).
    • (?:[A-Za-z.]{2,255})? - niet-sluitende groep om eventuele domeinen van het derde, vierde enz. niveau te identificeren ( mobiel In het eerste patroon wordt het binnen een grotere groep geplaatst om alle subdomeinen in de extractie op te nemen. Een subdomein kan 2 tot 255 tekens lang zijn, vandaar de kwantor {2,255}.
    • ([A-Za-z]{1,63}.[A-Za-z]{2,24}) - captatiegroep om het domein van het tweede niveau te extraheren ( ablebits ) en het topleveldomein ( com De maximale lengte van een domein op het tweede niveau is 63 tekens. Het langste topniveaudomein dat momenteel bestaat, bevat 24 tekens.

    Afhankelijk van welke reguliere uitdrukking in A2 is ingevoerd, zal de onderstaande formule verschillende resultaten opleveren:

    =AblebitsRegexExtract(A5, $A$2)

    Regex om de volledige domeinnaam met alle subdomeinen:

    Regex om een tweede niveau domein zonder subdomeinen:

    Dat is hoe u delen van tekst in Excel kunt extraheren met behulp van reguliere expressies. Ik dank u voor het lezen en zie u graag volgende week op onze blog!

    Beschikbare downloads

    Excel Regex extract voorbeelden (.xlsm bestand)

    Ultimate Suite proefversie (.exe bestand)

    Michael Brown is een toegewijde technologieliefhebber met een passie voor het vereenvoudigen van complexe processen met behulp van softwaretools. Met meer dan tien jaar ervaring in de technische industrie heeft hij zijn vaardigheden in Microsoft Excel en Outlook, evenals Google Spreadsheets en Documenten aangescherpt. Michael's blog is gewijd aan het delen van zijn kennis en expertise met anderen, met eenvoudig te volgen tips en tutorials voor het verbeteren van de productiviteit en efficiëntie. Of je nu een doorgewinterde professional of een beginner bent, Michaels blog biedt waardevolle inzichten en praktisch advies om het meeste uit deze essentiële softwaretools te halen.