MySQL + RegExp помогите написать правило...

Guest111

Guest
MySQL + RegExp помогите написать правило...

Имеется таблица MySQL. Нужно произвести некоторую выборку. Произвожу через RegExp.
Ключевое поле там: "p_str"
значения поля такие:

first/my_sub1
first/sub_first
first/sub_first/sub1
first/sub_first/sub2
first/sub_first/sub3

Пытаюсь сделать выборку:

SELECT * FROM table WHERE p_str REGEXP '^first/\w+$'

т.е. здесь я хочу выбрать вот эти:
first/my_sub1
first/sub_first

и не работает! Но почему? Разве "\w+" не означает последующее слово?
Как выбрать только те 2 значения? Пробовал другие варианты, но получается так, что либо в выборку попадают абсолютно все значения, либо ничего..

Заранее огромное спасибо.
 

tf

крылья рулят
может потому что \w это в php. в mysql man ничего подобного у меня отсутвует тогда придется все ручками REGEXP '^first/[a-y_]+$'.
 

Guest111

Guest
Автор оригинала: tf
может потому что \w это в php. в mysql man ничего подобного у меня отсутвует тогда придется все ручками REGEXP '^first/[a-y_]+$'.
спасибо огромное! отличное решение!
можно только сделать поправочку: "a-z", чтобы охватить все буквы, ещё лучше даже так: "a-zA-Z", это на случай если кто-то столкнется с подобной проблемой;)
 
Сверху