REGEX.UDTRÆK

Funktionen REGEX.UDTRÆK returnerer match eller registreringsgrupper i et match fra et givent regulært udtryk i en kildestreng.

REGEX.UDTRÆK(kilde-streng; regulært-udtryk-streng; match-forekomst:, registreringsgruppe-forekomst)

kilde-streng: En strengværdi, der skal sammenlignes med.

regulært-udtryk-streng: En strengværdi, der repræsenterer et regulært udtryk, som bruges til at sammenligne med kilde-streng.

match-forekomst: Et valgfrit heltal, der angiver, hvilket match der skal returneres, hvis der er flere match. Negative heltal accepteres og giver mulighed for at tilgå matchene bagfra, so -1 er det sidste match osv. Hvis 0 er given, returneres en matrice over alle matchene. Hvis udeladt, returneres det første match.

registreringsgruppe-forekomst: Et valgfrit heltal, der angiver, hvilken registreringsgruppe i et match der skal returneres, hvis der er registreringsgrupper i det regulære udtryk. Negative værdier accepteres ikke. Hvis 0 returneres, returneres en matrice over alle registreringsgrupper. Hvis udeladt, returneres hele matchet.

Noter

  • regulært-udtryk-streng skal følge ICU-standarden.

Eksempler

Hvis du har data, der ikke umiddelbart passer ind i rækkerne og kolonnerne i et regneark, kan du bruge REGEX.UDTRÆK til at gøre dem enklere. F.eks. har dataene i tabellen nedenfor en vis struktur, men det kan være svært at adskille disse data manuelt i flere celler pr. anmeldelse.

A

1

Brugeranmeldelser

2

E-mail: jtalma@icloud.com Navn: Julie Talma Dato: 17.05.2021

3

E-mail: danny_rico@icloud.com Navn: Danny Rico Dato: 02.06.2021

Det kan du ordne ved at føje flere kolonner til tabellen for Navn, E-mail, Vurdering og Dato og derefter bruge REGEX.UDTRÆK til at finde de data, du har brug for, og returnere dem i cellen.

Du kan f.eks. indtaste følgende formel for at returnere et navn:

Formelværktøjet viser formlen =REGEX.EXTRACT(A2;"(?<=Navn: )(.*)(?= Dato)".

I denne formel bruges følgende argumenter:

  • kilde-streng: A2 – cellen med de data, hvor der skal søges efter et navn.

  • regulært-udtryk-streng: "(?<=Navn: )(.*)(?= Dato)" – et regulært udtryk, der søger efter tekst mellem strengen "Navn: " og " Dato".

Denne formel kan gentages for hver række med data for at returnere navnet på hver person, der besvarede undersøgelsen, ved at ændre kilde-streng, så den matcher de andre celler, der indeholder oplysninger om brugeranmeldelser.

Det kan du ordne ved at føje flere kolonner til tabellen for Navn, E-mail, Vurdering og Dato og derefter bruge REGEX.UDTRÆK til at finde de data, du har brug for, og returnere dem i cellen.

Du kan f.eks. indtaste følgende formel:

Formelværktøjet viser formlen =REGEX.UDTRÆK(A2;"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2;4}")

I denne formel bruges følgende argumenter:

  • kilde-streng: A2 – cellen med de data, hvor der skal søges efter en e-mailadresse.

  • regulært-udtryk-streng: "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2;4}" – et regulært udtryk, der søger efter et mønster for en e-mailadresse.

Omorganiser data fra en liste med match-forekomst

Nogle gange har du måske data som dem i tabellen nedenfor (med navnet Leverandører), der grupperer værdier sammen i en celle:

Leverandør

Vare

A

Linser, kikærter, limabønner

B

Æbler, appelsiner, citroner

C

Quinoa, ris, perlebyg

Hvis du vil adskille værdierne baseret på butik og plads, kan du starte med at oprette en ny tabel som den nedenfor:

A

B

C

D

1

Plads

A

B

C

2

1

3

2

4

3

Du kan bruge en formel som denne i celle B2 i den nye tabel for at returnere Linser, som er varen med den højeste plads for Leverandør A:

Formelværktøjet viser formlen =REGEX.UDTRÆK(Leverandører::B2;"\w+";RÆKKE(A2)-1).

I denne formel bruges følgende argumenter:

  • kilde-streng: Leverandører::B2 – cellen med de data, der skal søges i. I dette tilfælde skal der søges i listen i denne celle.

  • regulært-udtryk-streng: "\w+" – et regulært udtryk, der søger efter et ord.

  • match-forekomst: RÆKKE(A2)-1. I dette tilfælde er der tre matches for hver REGEX.UDTRÆK, og du kan bruge en anden funktion, f.eks. RÆKKE, til at indstille det bestemte match, der skal findes. RÆKKE(A2) returnerer rækkenummeret på den valgte celle (2), og -1 er inkluderet for at trække overskriftsrækken fra resultatet – ellers ville du returnere Kikærter (det andet match) i dette eksempel.

    Hvis du udelader match-forekomst, er resultatet for hver leverandør altid det første ord, der returneres (Linser for Leverandør A, Æbler for Leverandør B osv.)

Du kan nemt ændre ovenstående formel for at udfylde tabellen med data for de andre leverandører og andre varer.

  • Hvis du vil have returneret andre populære produkter for en enkelt leverandør, kan du ændre match-forekomst. Du kan f.eks. få returneret Kikærter, den næstmest populære vare for Leverandør A, ved at ændre cellereferencen i match-forekomst fra A2 til A3.

  • Hvis du vil have returneret værdier for en anden leverandør, kan du ændre kilde-streng. Du kan f.eks. få returneret Æbler, den mest populære vare for Leverandør B, ved at ændre cellereferencen i kilde-streng fra B2 til B3.

Yderligere eksempler

Lad A1 være "marina@example.com john@example.ca mike@example.de".

=REGEX.UDTRÆK(A1; "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})") returnerer "marina@example.com".

=REGEX.UDTRÆK(A1; "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})"; 2) returnerer "john@example.ca".

=REGEX.UDTRÆK(A1; "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})"; -1) returnerer "mikeexample.de".

=REGEX.UDTRÆK(A1; "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})"; 1 ; 1) returnerer "marina".

=REGEX.UDTRÆK(A1; "([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})" 2 ; 2) returnerer "example.ca".

Se ogsåREGEX
Morty Proxy This is a proxified and sanitized view of the page, visit original site.
Nyttig?
Maks. antal tegn: 250
Maks. antal tegn er 250.
Tak for din feedback.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.