Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
mapak
Člen
Avatar
mapak:13.3.2015 12:27

Ahoj! Mám problém s výběrem všech položek z databáze (MySQL), které v poznámce obsahují telefonní číslo. (To bych chtěl později z té poznámky extrahovat).
Výběr mám zapsaný takto:

SELECT * FROM `subjekty` WHERE `Poznamka` REGEXP '.*\d{3}[ ]?\d{3}[ ]?\d{3}.*'

Představa je taková, že regulární výraz by měl odhalit všechny sekvence devíti čísel v řadě, ať už oddělených mezerami po třech číslech nebo vcelku. Bohužel, výše uvedený příkaz vrací nulový počet řádků.
Díky za jakékoliv rady!

Editováno 13.3.2015 12:29
 
Odpovědět
13.3.2015 12:27
Avatar
Tukmak
Člen
Avatar
Odpovídá na mapak
Tukmak:13.3.2015 13:27

Ahoj, zkus

[0-9]{3}[ ]?[0-9]{3}[ ]?[0-9]{3}

Tady to máš na fiddlu http://sqlfiddle.com/#…

MySQL podporuje poze posixové zástupné třídy... tzn:

\d -> [[:digit:]]
\s -> [[:blank:]]

atd...

Víc si můžeš přečíst na http://dev.mysql.com/…/regexp.html#…

Editováno 13.3.2015 13:28
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
13.3.2015 13:27
Avatar
mapak
Člen
Avatar
mapak:13.3.2015 13:56

Vynikající! Děkuju moc! Zkoumal jsem to na několik webech najednou a toho doporučení pro MySQL jsem si nevšiml! Ještě jednou díky!

 
Nahoru Odpovědět
13.3.2015 13:56
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.