Funkcja REGEXEXTRACT umożliwia wyodrębnianie tekstu z ciągu na podstawie podanych wyrażeń regularnych. Możesz wyodrębnić pierwsze dopasowanie, wszystkie dopasowania lub przechwytywanie grup z pierwszego dopasowania.
Składnia
Funkcja REGEXEXTRACT wyodrębnia ciągi w podanym tekście zgodnym ze wzorcem.
Składnia funkcji REGEXEXTRACT to:
REGEXEXTRACT(text, pattern, [return_mode], [case_sensitivity])
| Argument | Opis |
|---|---|
|
tekst (wymagane) |
Tekst lub odwołanie do komórki zawierającej tekst, z którego mają zostać wyodrębnione ciągi. |
|
deseń (wymagane) |
Wyrażenie regularne ("regex") opisujące wzorzec tekstu, który chcesz wyodrębnić. |
| return_mode | Liczba określająca ciągi, które mają zostać wyodrębnione. Domyślnie tryb returnu wynosi 0. Możliwe wartości to: 0: Zwraca pierwszy ciąg zgodny ze wzorcem 1: Zwracanie wszystkich ciągów zgodnych ze wzorcem tablicy 2: Zwracanie przechwytywania grup z pierwszego dopasowania jako tablicy Uwaga: Przechwytywanie grup to części wzorca regex otoczone nawiasami "(...)". Umożliwiają one zwrócenie osobnych części pojedynczego dopasowania. |
| case_sensitivity | Określa, czy w dopasowaniu jest uwzględniana wielkość liter. Domyślnie w dopasowaniu jest uwzględniana wielkość liter. Wprowadź jedną z następujących opcji: 0: Uwzględniana wielkość liter 1: Bez uwzględniania wielkości liter |
Uwaga
Najprostszym wzorcem jest tekst dosłowny, który chcesz dopasować. Aby na przykład dopasować tekst "Dopasuj mnie", możesz użyć wzorca "Dopasuj mnie".
Symbole nazywane "tokenami" mogą być również używane, które pasują do różnych znaków. Oto kilka prostych tokenów do celów informacyjnych:
"[0-9]": dowolna cyfra numeryczna
"[a-z]": znak z zakresu od a do z
".": dowolny znak
"a": znak "a"
"a*": zero lub więcej "a"
"a+": jeden lub więcej "a"
Wszystkie wyrażenia regularne dla tej funkcji, a także REGEXTEST i REGEXREPLACE używają "smaku" regexu PCRE2.
Funkcja REGEXEXTRACT zawsze zwraca wartości tekstowe. Te wyniki można przekonwertować z powrotem na liczbę za pomocą funkcji ARG.
Przykłady
Skopiuj przykładowe dane i wklej je w komórce A1 nowego arkusza programu Excel. Jeśli to konieczne, możesz dostosować szerokości kolumn, aby wyświetlić pełne dane.
Przykład 1
Wyodrębnianie nazw na podstawie wielkich liter z deseniem "[A-Z][a-z]+"
| Dane |
|---|
| DylanWilliams |
| Formuły |
| =REGEXEXTRACT(A2;"[A-Z][a-z]+") |
| =REGEXEXTRACT(A2;"[A-Z][a-z]+"1) |
Poniższa ilustracja przedstawia wyniki.
Przykład 2
Wyodrębnianie numerów telefonów na podstawie ich struktury za pomocą wzorca "[0-9()]+ [0-9-]+"
| Dane |
|---|
| Sonia Rees (378) 555-4195 Angel Brown (878) 555-8622 Blake Martin (437) 555-8987 William Kirby (619) 555-4212 Avery Smith (579) 555-5658 Parker Jones (346) 555-0925 Liam Mały (405) 555-0887 Hollie Rees (666) 555-1872 |
| Formuły |
| =REGEXEXTRACT(A2;"[0-9()]+ [0-9-]+"1) |
Na poniższej ilustracji przedstawiono wynik.