powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как подставить поисковые сочетания букв из таблицы в регулярное выражение (ORACLE)
18 сообщений из 18, страница 1 из 1
Как подставить поисковые сочетания букв из таблицы в регулярное выражение (ORACLE)
    #39425782
iammultic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Суть такая:
Имеется обновляемая таблица с перфиксами T1:
id | title

1 | LK_
2 | FDK_
3 | TS_

и есть другая таблица, которая содержит текст с этими буквами T2 (тоже обновляемая):
id | title

1 | uhguv_LK_hrhg
2 | eruhjsv_FDK_LK_kjgigrg
3 | urhwrhavv_TS_ierghjn


ВОПРОС: нужно регуляркой (или каким то другим способом) найти записи в таблице T2, из массива искомых префиксов из таблицы T1, и получить найденный префикс и id записи Т2 для дальнейших манипуляций.

Во многих языках программирования можно в качестве $pattern подставлять не только строку, но и массив. И тогда регулярка по замене будет искать и заменять пробегаясь по массиву. например:
$string = 'The quick brown fox jumps over the lazy dog.';
$patterns = array();
$patterns[0] = '/quick/';
$patterns[1] = '/brown/';
$patterns[2] = '/fox/';
$replacements = array();
$replacements[2] = 'bear';
$replacements[1] = 'black';
$replacements[0] = 'slow';
echo preg_replace($patterns, $replacements, $string);

В oracle подобного не нашла. Можно как то красиво реализовать данную задачу, или придется делать выборку из Т1 , склеивать в строку патерн и подставлять его в регулярку?
...
Рейтинг: 0 / 0
Как подставить поисковые сочетания букв из таблицы в регулярное выражение (ORACLE)
    #39425854
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iammulticМожно как то красиво реализовать данную задачу, или придется делать выборку из Т1 , склеивать в строку патерн и подставлять его в регулярку? http://www.bugtraq.ru/forum/faq/general/smart-questions.html] RTFM
...
Рейтинг: 0 / 0
Как подставить поисковые сочетания букв из таблицы в регулярное выражение (ORACLE)
    #39425862
iammultic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elic,

Что не так с моим вопросом?
...
Рейтинг: 0 / 0
Как подставить поисковые сочетания букв из таблицы в регулярное выражение (ORACLE)
    #39425867
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iammulticЧто не так с моим вопросом?Не надо желаемый результат описывать словами, тем более питая иллюзии пр другие языки.
...
Рейтинг: 0 / 0
Как подставить поисковые сочетания букв из таблицы в регулярное выражение (ORACLE)
    #39425868
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iammultic,

кусок про баксы не относится к ораклу
...
Рейтинг: 0 / 0
Как подставить поисковые сочетания букв из таблицы в регулярное выражение (ORACLE)
    #39425873
iammultic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
--Eugene--,

я в курсе... я привела в качестве примера.
...
Рейтинг: 0 / 0
Как подставить поисковые сочетания букв из таблицы в регулярное выражение (ORACLE)
    #39425884
iammultic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
главная ось зла... у меня паттерн динамический. Т.е. если изменили записи в таблице Т1, то и поисковая строка уже другая для таблицы Т2. И хочется как то красиво это сделать, чтобы не сильно загружать процессом.
...
Рейтинг: 0 / 0
Как подставить поисковые сочетания букв из таблицы в регулярное выражение (ORACLE)
    #39425890
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iammultic,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
with t1 as (
select 1 id, 'LK_' title from dual union all
select 2, 'FDK_' from dual union all
select 3, 'TS_' from dual
),
t2 as (
select 1 id, 'uhguv_LK_hrhg' title from dual union all
select 2, 'eruhjsv_FDK_LK_kjgigrg' from dual union all
select 3, 'urhwrhavv_TS_ierghjn' from dual
)
select t1.id, t1.title, t2.id, t2.title
from t1
join t2 on instr(t2.title, t1.title) != 0


IDTITLEID_1TITLE_11LK_1uhguv_LK_hrhg1LK_2eruhjsv_FDK_LK_kjgigrg2FDK_2eruhjsv_FDK_LK_kjgigrg3TS_3urhwrhavv_TS_ierghjn
Ето надо?
...
Рейтинг: 0 / 0
Как подставить поисковые сочетания букв из таблицы в регулярное выражение (ORACLE)
    #39425927
iammultic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
--Eugene--,
да, смысл понятен... но что то на реальных таблицах не работает.

with t1 as (
select nta.N_Т1_ID, nta.TYPE from N_Т1 nta
),
t2 as (
select NSP.N_Т2_ID, NSP.TITLE from N_Т2 nsp
)
select t1.N_Т1_ID, t1.TYPE, t2.N_Т2_ID, t2.TITLE
from t1
join t2 on instr(t2.TITLE, t1.TYPE) != 0
;


возвращает 0 строк :-)
...
Рейтинг: 0 / 0
Как подставить поисковые сочетания букв из таблицы в регулярное выражение (ORACLE)
    #39425929
iammultic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
--Eugene--,

сейчас еще поразбираюсь... чувствую где то засада... за помощь спасибо :-) интересный вариант. :-)
...
Рейтинг: 0 / 0
Как подставить поисковые сочетания букв из таблицы в регулярное выражение (ORACLE)
    #39425930
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iammultic,

содержимое таблиц покажи хотябэ
...
Рейтинг: 0 / 0
Как подставить поисковые сочетания букв из таблицы в регулярное выражение (ORACLE)
    #39425934
iammultic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
--Eugene--,

низяяяяя.... (хитрюшки какие ) :-))
...
Рейтинг: 0 / 0
Как подставить поисковые сочетания букв из таблицы в регулярное выражение (ORACLE)
    #39425951
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iammultic,

хрустальный шар показывает, что в одной таблице записи вида FCK_FF_ , а в другой вида damn_shit_fck_ff_mthrfckr
...
Рейтинг: 0 / 0
Как подставить поисковые сочетания букв из таблицы в регулярное выражение (ORACLE)
    #39425980
iammultic,

может проблема во мне?
...
Рейтинг: 0 / 0
Как подставить поисковые сочетания букв из таблицы в регулярное выражение (ORACLE)
    #39425985
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iammultic,

tile не "пересекаются" (напр FDK_ и DK_)?

.....
stax
...
Рейтинг: 0 / 0
Как подставить поисковые сочетания букв из таблицы в регулярное выражение (ORACLE)
    #39426270
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iammultic--Eugene--,
да, смысл понятен... но что то на реальных таблицах не работает.


Если смысл понятен, то зачем эта чушь
iammultic with t1 as (
select nta.N_Т1_ID, nta.TYPE from N_Т1 nta
)
....
,
когда ключевая часть предложенного решения
instr(t2.TITLE, t1.TYPE) != 0
?


Показывайте реальные данные, обфусцируйте как хотите, но ключ из первой таблицы и его вхождение в запись второй таблицы должны быть "как в жизни".
...
Рейтинг: 0 / 0
Как подставить поисковые сочетания букв из таблицы в регулярное выражение (ORACLE)
    #39426276
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iammultic,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
with t1 as (select 1 id, 'йух_' type_ from dual),
     t2 as (select 11 id, 'идите_на_йyх_!' title from dual union all
            select 22 id, 'все_на_йух' title from dual union all
            select 33 id, 'а_я_на_йуХ_не_пойду' title from dual union all
            select 44 id, 'на_йух_куда_ведёт_мохнатая_звезда' title from dual)
select t2.*, t1.*, instr(t2.title,t1.type_) instr_
from t2 left join t1 on instr(t2.title,t1.type_) != 0



медитируй
...
Рейтинг: 0 / 0
Как подставить поисковые сочетания букв из таблицы в регулярное выражение (ORACLE)
    #39426584
iammultic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а я уже все сделала 8-). еще вчера
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как подставить поисковые сочетания букв из таблицы в регулярное выражение (ORACLE)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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