Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / регулярное выражение с ИЛИ / 7 сообщений из 7, страница 1 из 1
06.04.2017, 13:10
    #39434128
verter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
регулярное выражение с ИЛИ
есть регулярное выражение, например строка:

'1;2;3;4;5'

чтобы превратить это в датасет можно использовать regexp_substr

SELECT regexp_substr(str,'[^;]+',1,level) str
FROM (SELECT '1;2;3;4;5' str FROM dual) t
CONNECT BY instr(str,';',1,level-1) > 0

str
1
2
3
4
5

если усложнить задачу и потребовать получать датасет для 2-х разделителей ';' и ','
т.е. для строки

'1,2,3;4;5'

чтобы тоже получалось

1
2
3
4
5

то что нужно поменять в запросе с regexp_substr ?
...
Рейтинг: 0 / 0
06.04.2017, 13:17
    #39434134
replace_str
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
регулярное выражение с ИЛИ
verter,

... (SELECT replace(:str,',',';') str FROM dual) t ...
...
Рейтинг: 0 / 0
06.04.2017, 13:26
    #39434141
verter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
регулярное выражение с ИЛИ
replace_strverter,

... (SELECT replace(:str,',',';') str FROM dual) t ...

Действительно! Не подумал :) Спасибо!
...
Рейтинг: 0 / 0
06.04.2017, 14:00
    #39434165
Vint
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
регулярное выражение с ИЛИ
verter,
ну конечно, вместо того чтобы выучить | обязательно надо делать как советуют всякие рукожопы.
...
Рейтинг: 0 / 0
06.04.2017, 16:51
    #39434341
stax..
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
регулярное выражение с ИЛИ
Vint,

не токо |, instr надо заменить

.....
stax
...
Рейтинг: 0 / 0
06.04.2017, 16:55
    #39434345
ORA__SQL
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
регулярное выражение с ИЛИ
Vintverter,
ну конечно, вместо того чтобы выучить | обязательно надо делать как советуют всякие рукожопы.
А чем replace не угодил?
Регулярка же тяжелее стала
...
Рейтинг: 0 / 0
06.04.2017, 18:08
    #39434407
Vint
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
регулярное выражение с ИЛИ
stax..,
угу разжевать и в рот положить)) щяз...

ORA__SQL
уверен что риплейс будет быстрее чем утяжеленная регулярка?) скорее всего быстрее вообще на сабстр инстр. но либо используй все возможности инструмента, либо не городи огород.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / регулярное выражение с ИЛИ / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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