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šovat-velikost)
řetězec-regulárního-výrazu: Řetězcová hodnota reprezentující regulární výraz.
rozlišovat-velikost: Nepovinná modální hodnota určující, zda se mají v regulárním výrazu rozlišovat malá a velká písmena.
Rozlišovat velikost písmen (TRUE nebo vynechaná): U regulárního výrazu se rozlišují malá a velká písmena.
Ignorovat velikost písmen (FALSE): 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.
Stejně jako lze zřetězit regulární hodnoty typu řetězec, lze výraz REGEX zřetězit s jiným výrazem REGEX. Je-li však 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@example.com: Marina Email", REGEX("[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}") & REGEX(": *"), "") vrátí"Marina Email". Vzorec =SUBSTITUTE("marina@example.com"; REGEX("([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+)(\.[A-Za-z]{2,4})"); "$2@$1$3") vrátí řetězec „example.com@marina.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: client@example.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ý“. |