REGEXP - Wyrażenie regularne

REGEXP_COUNT() - Zliczanie znaków

Zliczanie wystapień konkretnego znaku

regexp_count('z1ap3as','a')

Zliczanie wystapień konkretnego znaku (bez case sensivity)

regexp_count('z1ap3as','A',1,'i')

Zliczanie liter

regexp_count('z1ap3as','[[:alpha:]]')

Zliczanie cyfr

regexp_count('z1ap3as','[[:digit:]]')

Zliczanie cyfr i liter

regexp_count('z1ap3as','[[:alnum:]]')

Zliczanie wszystkich znaków (nawet specjalnych)

regexp_count('z1ap3as#','.')


REGEXP_REPLACE() - Podmiana znaków
Podmiana jednego znaku (wszystkie wystąpienia) na inny

regexp_replace('tekst do podmiany znaków i innych cyfr','n','X') zm1

Podmiana określonego (pod względem kolejności) wystąpienia znaku na inny (od konkretnego miejsca w tekście)

regexp_replace('tekst do podmiany znaków i innych cyfr','n','X',12,2) zm2

Podmiana znaku na inny (wszystkie wystąpienia od konkretnego miejsca w tekście)

regexp_replace('tekst do podmiany znaków i innych cyfr','n','X',20,0) zm3

Podmiana jednego znaku (wszystkie wystąpienia) na inny bez rozróżniania wielkości znaków

regexp_replace('tekst do podmiany znaków i innych cyfr','N','X',1,0,'i') zm4


REGEXP_LIKE() - Wyszukiwanie tekstu spełniającego określone warunki

Tekst zawiera określoną literę

regexp_like('tekst do podmiany znaków i innych cyfr','K','i')

Tekst zaczyna się na określoną literę

regexp_like('tekst do podmiany znaków i innych cyfr','^t','i')

Tekst kończący się na określoną literę

regexp_like(kolumna,'o$','i')

Tekst zaczynający i kończący sie określonymi literami, pomiędzy którymi są 2 dowolne znaki

regexp_like(kolumna,'^K..o$','i')

Tekst zaczynający i kończący sie określonymi literami, pomiędzy którymi jest dowolna liczba znaków

regexp_like(kolumna,'^K.{1,}o$','i')

Tekst zaczynający i kończący sie określonymi literami, pomiędzy którymi jest dowolna liczba liter

regexp_like(kolumna,'^K[[:alpha:]]{1,}o$','i')

Tekst zaczynający i kończący sie określonymi literami, pomiędzy którymi są 2 litery

regexp_like(kolumna,'^K[[:alpha:]]{2}o$','i')

Tekst zaczynający się jedną z podanych liter

regexp_like(kolumna,'^K|^L','i')

Tekst zawierający jedną z podanych w nawiasie kwadratowym liter

regexp_like(kolumna,'[ao]','i')

Tekst zawierający jedną z zakresu liter podanego w nawiasie kwadratowym

regexp_like(kolumna,'[a-d]','i')

Tekst składający się z dokładnie 11 cyfr

regexp_like('12345678909','^[[:digit:]]{11}$')

Tekst zaczynają się na literę 'Z' i mający po tym 4 cyfry

regexp_like (f.name, '^Z[[:digit:]]{4}$')


REGEXP_INSTR() - Podanie pozycji wybranego znaku

Podanie pozycji określonego wystąpienia danego znaku

regexp_instr('Nowy tekst dodany 5 tutaj','a',1,2)

Podanie pozycji pierwszej cyfry w ciągu znaków

regexp_instr('Nowy tekst dodany 5 tutaj','[[:digit:]]',1,1)


REGEXP_SUBSTR() - Wycięcie określonego podciągu znaków

Wycięcie podciągu znaków zaczynającego się od wybranej litery

regexp_substr('Nowy tekst dodany 5 tutaj','t.{1,}')

Wycięcie podciągu liter zaczynającego się od wybranej litery i kończącego na innej określonej przez nas

regexp_substr('Nowy tekst dodany 5 tutaj','t[[:alpha:]]{1,} [[:alpha:]]{1,}y')

Wycięcie podciągu liter zaczynającego się od wybranego znaku i kończącego się nim - przykład mamy kilka fragmentów oddzielonych znakami '|' i chcemy wypisać pierwszy fragment

regexp_substr(kolumna, '\|([^|]+)\|', 1,1,NULL,1)

Tags: