Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > помогите составить REGEXP


Автор: Elfet 28.1.2005, 22:34
я пытаюсь получить запросом :
Код
WHERE t.description REGEXP 'path=home/[a-zA-Z]*.'

выдаёт :
path=home.,show=no
path=home/into.
path=home/into2.
path=home/into/go.
path=home/into2/about us.
path=home/prog.
path=home/prog/we.


а нужно чтоб выдал:
path=home/into.
path=home/into2.
path=home/prog.


smile


Автор: Mal Hack 28.1.2005, 22:40
Хм... Если я правильно понял, то . - любой символ, а \. - точка
Да, еще в классе a-zA-Z надо добавить 0-9

Автор: Elfet 28.1.2005, 22:56
path=home/[a-zA-Z0-9]*\.

хм smile не получилось

Автор: Irokez 28.1.2005, 23:11
а можно запрос полностью?

Автор: Elfet 29.1.2005, 13:45
вот:
Код

SELECT  t.* FROM ibf_topics t WHERE t.forum_id=2 AND t.description REGEXP 'path=home/[a-zA-Z0-9]*\.'

Автор: Mal Hack 29.1.2005, 14:46
Elfet
Выдает тоже самое?

Цитата(Elfet @ 29.1.2005, 13:45)
ome/[a-

\/ попробуй.

Автор: Elfet 29.1.2005, 16:16
Цитата(Mal @ 29.1.2005, 15:46)
Выдает тоже самое?

угу,

Цитата(Mal @ 29.1.2005, 15:46)
попробуй.

я вот так вот
ome/[a-
и
вот так вот
ome\/[a-
и
ome.[a-

Автор: Mal Hack 29.1.2005, 16:24
Elfet
REGEXP лишь проверяет нахождение шаблона в ячейке, но не урезает возвращаемое значение.

Автор: Elfet 29.1.2005, 17:29
угу, так мне и не надо урезать мне нужно вернуть все path=[только две директории].[моно что-то ещё]

Автор: Mal Hack 29.1.2005, 20:49
Цитата(Elfet @ 29.1.2005, 17:29)
path=[только две директории].


Цитата(Elfet @ 29.1.2005, 13:45)
'path=home/[a-zA-Z0-9]+/[a-zA-Z0-9]+\.'


Автор: Elfet 30.1.2005, 15:17
тобишь это тоже не работает smile

'path=home/[a-zA-Z0-9]+/[a-zA-Z0-9]+\.'
выдала:

path=home/into/go.
path=home/into2/about us.
path=home/prog/we.
path=home/prog/we/into.

ну а мне поидее нужно:

'path=home/[a-zA-Z0-9]+\.'

но это вообще всё выдаёт smile
Добавлено @ 15:19
ААА!!! кажется я понял в чём глюк то! smile как можно ещё точку в регехп поставить? \. - это видимо не работает!!

Автор: Nark 2.6.2005, 21:11
Блин тав в описалове ясно написанно $ - конец строки.берем первый вариант (ну 0-9 добавить конечно) и добавляем $. Даже '.' на '\.' можно ИМХО не менять. можно еще и так написать ' REGEXP 'path=home/[^/]*.$' '.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)