REGEX
Funkce REGEX umožňuje použití regulárních výrazů v jiných textových a podmínkových funkcích. Lze ji použít ve všech funkcích, v nichž je očekávána podmínka (IF, COUNTIF, …) nebo řetězcová shoda (SUBSTITUTE, TEXTBEFORE, …). Když funkci REGEX nepoužijete pro vytvoření podmínky nebo manipulaci s textem, vrátí výchozí regulární výraz jako řetězcovou hodnotu.
REGEX(řetězec-regulárního-výrazu; rozlišování-velikosti-písmen)
řetězec-regulárního-výrazu: Řetězcová hodnota reprezentující regulární výraz.
rozlišování-velikosti-písmen: Nepovinná modální hodnota určující, zda se mají v regulárním výrazu rozlišovat malá a velká písmena.
Rozlišování-velikosti-písmen (PRAVDA nebo parametr není uveden): U regulárního výrazu se rozlišují malá a velká písmena.
Ignorování velikosti (NEPRAVDA): U regulárního výrazu se nerozlišují malá a velká písmena.
Poznámky
Řetězec-regulárního-výrazu musí splňovat podmínky standardu ICU.
Výraz REGEX lze zřetězit s jiným výrazem REGEX; totéž platí pro regulární řetězcové hodnoty. Je-li výraz REGEX zřetězen s regulárním řetězcem, bude výsledkem regulární řetězec, ale už ne výraz funkce REGEX.
Příklady |
---|
Vzorec =COUNTMATCHES("Jestli chcete spočítat všechna slova, použijte regulární výraz."; REGEX("\w+")) vrátí hodnotu 8. Vzorec =TEXTBEFORE("Načti veškerý text před prvním číslem 12345 a dál už nic."; REGEX("[0-9]+")) vrátí "Načti veškerý text před prvním číslem ". Předpokládejme, že každá buňka v rozmezí A1:A10 obsahuje nějaké slovo, přičemž pětice těchto slov obsahuje písmeno a. Vzorec =COUNTIF(A1:A10; REGEX("a+";NEPRAVDA)) vrátí hodnotu 5. Vzorec =SUBSTITUTE("example@email.com: John Appleseed", REGEX("[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}") & REGEX(": *"); "") vrátí řetězec „John Appleseed“. Vzorec =SUBSTITUTE("john@appleseed.com"; REGEX("([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+)(\.[A-Za-z]{2,4})"); "$2@$1$3") vrátí řetězec „appleseed@john.com““. Vzorec =COUNTMATCHES("Prvek1, prvek2, prvek3"; REGEX("prvek[0-9]")) vrátí hodnotu 2. Vzorec =COUNTMATCHES("Prvek1, prvek2, prvek3"; REGEX("prvek[0-9]"; NEPRAVDA)) vrátí hodnotu 3. Předpokládejme, že buňka A1 obsahuje řetězec „E-mail klienta: example@email.com“. Vzorec =IF(COUNTMATCHES(A1; REGEX("[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}")); "E-mail je zadaný"; "E-mail není zadaný") vrátí „E-mail je zadaný“. |