Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / БД с поддержкой регулярных выражений / 14 сообщений из 14, страница 1 из 1
19.11.2003, 15:27
    #32328914
EINY
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с поддержкой регулярных выражений
Добрый день,

У меня вот такой вопрос - требуется БД, которая бы более-менее поддерживала POSIX-стандарт регулярных выражений.

Требований к быстродействию и других специфических требований ну почти совсем нет, то есть, БД будет использоваться довольно редко: закачал большой обьем данных (несколько миллионов записей), не торопясь обработал regexp'ами, получил нужную информацию.

Мне пока ничего, кроме MySQL, на ум не приходит. Кстати, удивительно, что MS SQL Server рег. выражения не поддерживает. Или есть какие-нибудь доп. модули к нему?


Извините, если что, я в БД еще "чайник" ;-)
...
Рейтинг: 0 / 0
19.11.2003, 16:42
    #32329093
Gt_
Gt_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с поддержкой регулярных выражений
такое есть в Oracle 10G который еще похоже не продается ...
может модуль какой к posgre есть, но не слышал
...
Рейтинг: 0 / 0
19.11.2003, 16:50
    #32329114
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с поддержкой регулярных выражений
Если в Java есть возможность работы с регулярными выражениями - пакет java.util.regex или, к примеру, http://www.savarese.org/oro/index.html - то, полагаю, такую же функциональность можно реализовать и в Oracle, начиная с версии 8i, на основе загруженных в БД Java-классов. Особенно, если не предъявляются требования к быстродействию.
...
Рейтинг: 0 / 0
19.11.2003, 21:30
    #32329415
Lepsik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с поддержкой регулярных выражений
--У меня вот такой вопрос - требуется БД, которая бы более-менее поддерживала POSIX-стандарт регулярных выражений

почти все базы поддерживают XP а в ней можно вызвать любую dll - с парсером
...
Рейтинг: 0 / 0
19.11.2003, 23:40
    #32329444
Gt_
Gt_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с поддержкой регулярных выражений
в смысле хп вытащит всю бд и прогонит через dll ? конечно вариант но ... для специфических условий.
...
Рейтинг: 0 / 0
20.11.2003, 00:08
    #32329461
Lepsik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с поддержкой регулярных выражений
--в смысле хп вытащит всю бд и прогонит через dll ? конечно вариант но ... для -специфических условий.

куда вытащить ?

просто в базу выполняешь обычнаый запрос типа

SELECT FUNC(my_text, "[a-w]+") from table

и сервер парсирует твое поле
...
Рейтинг: 0 / 0
20.11.2003, 01:13
    #32329492
c127
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с поддержкой регулярных выражений
>Кстати, удивительно, что MS SQL Server рег. выражения не поддерживает. Или есть какие-нибудь доп. модули к нему?

Все РСУБД поддерживают регулярные выражения, даже MSSQL сервер, только они немного отличаются от POSIX. Это стандарт SQL. Посмотри оператор LIKE. Может оказаться, что проще написать конвертор и использовать like.
...
Рейтинг: 0 / 0
20.11.2003, 10:46
    #32329751
EINY
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с поддержкой регулярных выражений
Конечно же, я знаю про LIKE в MS SQL Server.

Но, согласитесь, то, что предлагает LIKE, иначе как "жалким подобием" рег. выражений, назвать нельзя, не правда ли?

Например, в рег. выражениях мне сильно нужны оператор "ИЛИ" ("|"), манипуляции с подстроками ($1, $& и т.п.), желательны, также, и "ограничители жадности" ("?")
...
Рейтинг: 0 / 0
20.11.2003, 20:39
    #32330773
Markelenkov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с поддержкой регулярных выражений
В Oracle 10g есть полная поддержка рег. выражений. Выход 10g ожидается в декабре. Цена неизвестна ;-)
...
Рейтинг: 0 / 0
21.11.2003, 00:21
    #32330821
c127
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с поддержкой регулярных выражений
>Например, в рег. выражениях мне сильно нужны оператор "ИЛИ" ("|"), манипуляции с подстроками ($1, $& и т.п.), желательны, также, и "ограничители жадности" ("?")

ИЛИ это or в SQL-е , '?' это по-моему '.', не помню точно, в любом случае это все можно легко записать на SQL-е. С $1 наверное сложнее, но $1 это уже не совсем регулярные выражения, это скорее расширение, типа программирование sed-а или awk. Хотя не претендую.

Моя идея такая. Если ты сам формируешь критерий поиска, то может можно сразу формировать SQL выражение, если пишет пользователь, причем используется какое-то подмножество регулярных выражений, то может быть проще написать конвертор в SQL. В остальных случаях самое лучшее по-моему - вызывать внешнюю процедуру из стандартной библиотеки, как тут советовали, многие SQL сервера это умеют это делать. Скорость сильно не упадет, все равно будет бежать по всей таблице.
...
Рейтинг: 0 / 0
21.11.2003, 10:44
    #32331085
EINY
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с поддержкой регулярных выражений
Нет,

под ИЛИ я имел в виду: "если найдено рег. выражение1 либо рег.выражение2, то - заменить"

"?" - это "ограничение жадности квантификатора", в LIKE аналога нету

$1, $&, $` и прочее - я не помню, есть ли это в стандарте, но это удобное дополнение в рег. выражением.

В общем, задачу свою я сейчас делаю в MySQL, если не получится - напишу программку-парсер на perl.
...
Рейтинг: 0 / 0
21.11.2003, 16:00
    #32331685
Gt_
Gt_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с поддержкой регулярных выражений
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
 --в смысле хп вытащит всю бд и прогонит через dll ? конечно вариант но ... для -специфических условий. 
 

куда вытащить ? 

просто в базу выполняешь обычнаый запрос типа 

SELECT FUNC(my_text,  "[a-w]+" ) from table 

и сервер парсирует твое поле


так несколько урезанно получится, а если зависищий от параметров на замену, типа заменить корни фамилии на ский корнями от фамилий на ко :)

P.S. like - жалкое поодобие левой руки.

Gt_
...
Рейтинг: 0 / 0
21.11.2003, 16:38
    #32331748
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с поддержкой регулярных выражений
MSSQL может грузить и использовать практически любой ActiveX-объект, а том числе и VBScript.RegExp
...
Рейтинг: 0 / 0
21.11.2003, 16:43
    #32331756
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД с поддержкой регулярных выражений
А еще есть вот такая ссылочка http://www.codeproject.com/database/xp_pcre.asp

И вообще загугляние дает хорошую пищу для размышлений.
...
Рейтинг: 0 / 0
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / БД с поддержкой регулярных выражений / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]