Funkce REGEXEXTRACT umožňuje extrahovat text z řetězce na základě zadaného regulárního výrazu. Můžete extrahovat první shodu, všechny shody nebo zachytávat skupiny z první shody.
Syntaxe:
Funkce REGEXEXTRACT extrahuje řetězce v zadaném textu , který odpovídá vzoru.
Syntaxe funkce REGEXEXTRACT je:
REGEXEXTRACT(text, vzor, [return_mode], [case_sensitivity])
|
Argument |
Popis |
|---|---|
|
text (povinné) |
Text nebo odkaz na buňku obsahující text, ze kterého chcete extrahovat řetězce. |
|
vzor (povinné) |
Regulární výraz ("regex"), který popisuje vzor textu, který chcete extrahovat. |
|
return_mode |
Číslo, které určuje, jaké řetězce chcete extrahovat. Režim vrácení je ve výchozím nastavení 0. Možné hodnoty jsou: 0: Vrátí první řetězec, který odpovídá vzoru. 1: Vrátit všechny řetězce, které odpovídají vzoru, jako pole 2: Vrácení zachytávání skupin z první shody jako pole Poznámka: Zachytávání skupin jsou části vzoru regulárního výrazu obklopené závorkou "(...)". Umožňují vracet samostatné části jedné shody jednotlivě. |
|
case_sensitivity |
Určuje, zda shoda rozlišuje malá a velká písmena. Ve výchozím nastavení se v shodě rozlišují velká a malá písmena. Zadejte jednu z následujících možností: 0: Rozlišují se malá a velká písmena 1: Nerozlišují se malá a velká písmena |
Poznámky:
-
Nejjednodušším vzorem je literál, který chcete porovnat. Například pro shodu s textem "Match Me" můžete použít vzor "Match Me".
-
Lze také použít symboly označované jako "tokeny", které odpovídají různým znakům. Tady je několik jednoduchých tokenů pro referenci:
-
"[0-9]": libovolná číselná číslice
-
"[a-z]": znak v rozsahu a až z
-
".": libovolný znak
-
"a": znak "a"
-
"a*": nula nebo více "a"
-
"a+": jeden nebo více "a"
-
Všechny regulární výrazy pro tuto funkci, stejně jako REGEXTEST a REGEXREPLACE , používají PCRE2 'flavor' regex.
-
FUNKCE REGEXEXTRACT vždy vrací textové hodnoty. Tyto výsledky můžete převést zpět na číslo pomocí funkce VALUE.
Příklady
Zkopírujte příkladová data a vložte je do buňky A1 nového Excel listu. Pokud potřebujete, můžete přizpůsobit šířky sloupců a zobrazit si všechna data.
Extrahování názvů na základě velkých písmen se vzorem [A-Z][a-z]+"
|
Data |
|
DylanWilliams |
|
Vzorce |
|
=REGEXTRACT(A2;"[A-Z][a-z]+") |
|
=REGEXEXTRACT(A2;"[A-Z][a-z]+";1) |
Následující obrázek ukazuje výsledky.
Extrahovat telefonní čísla na základě jejich struktury pomocí vzoru [0-9()]+ [0-9-]+"
|
Data |
|
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 Small (405) 555-0887 Hollie Rees (666) 555-1872 |
|
Vzorce |
|
=REGEXTRACT(A2;"[0-9()]+ [0-9-]+";1) |
Následující obrázek znázorňuje výsledek.