|
|
|
regexp подстроки в произвольном порядке
|
|||
|---|---|---|---|
|
#18+
подскажите, можно в регулярке проверить вхождение всех подстрок одновременно , но в произвольном порядке ? с соблющением порядка- это понятно по типу regexp_replace('сегодня была конфа по оракл интересно очень','сегодн.{1,}инт') а в беспорядке, но обязательное вхождение одновременно всех подстрок что-то не нашел или в какую сторону смотреть хотя б, как соорудить поисковый запрос ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2017, 16:22 |
|
||
|
regexp подстроки в произвольном порядке
|
|||
|---|---|---|---|
|
#18+
ДобрыйМаксили в какую сторону смотреть хотя б, как соорудить поисковый запрос ? В сторону regexp_substr(...) AND regexp_substr(...) AND ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2017, 16:25 |
|
||
|
regexp подстроки в произвольном порядке
|
|||
|---|---|---|---|
|
#18+
regexp_replace - это не "проверить", это "заменить". Для проверки самый простой способ - это несколько регэкспов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2017, 16:27 |
|
||
|
regexp подстроки в произвольном порядке
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousДобрыйМаксили в какую сторону смотреть хотя б, как соорудить поисковый запрос ? В сторону regexp_substr(...) AND regexp_substr(...) AND ... количество подстрок и сами подстроки- из настроек, то есть вещь динамическая. Только динамическим скл ? пичаль :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2017, 16:28 |
|
||
|
regexp подстроки в произвольном порядке
|
|||
|---|---|---|---|
|
#18+
Вместо динамики я бы прикрутил group by. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2017, 16:29 |
|
||
|
regexp подстроки в произвольном порядке
|
|||
|---|---|---|---|
|
#18+
AmKadВместо динамики я бы прикрутил group by. можно подробнее ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2017, 16:31 |
|
||
|
regexp подстроки в произвольном порядке
|
|||
|---|---|---|---|
|
#18+
ДобрыйМаксAmKadВместо динамики я бы прикрутил group by. можно подробнее ?Если задача звучит как "проверить", то проджойнить исходную строку с множеством искомых вхождений и взять group by. И вхождение искать не regexp-ом, а like-ом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2017, 16:38 |
|
||
|
regexp подстроки в произвольном порядке
|
|||
|---|---|---|---|
|
#18+
ДобрыйМаксможно в регулярке проверить вхождение всех подстрок одновременно , но в произвольном порядке ? Уже возникала подобная тема, если не одним вызовом, то можно. Одним - оракловая реализация регулярок не позволяет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2017, 16:39 |
|
||
|
regexp подстроки в произвольном порядке
|
|||
|---|---|---|---|
|
#18+
AmKad, ээ.. что-то плохо представляю, но сейчас попробую что-нибудь такое сделать. Мож в процессе дойдет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2017, 16:40 |
|
||
|
regexp подстроки в произвольном порядке
|
|||
|---|---|---|---|
|
#18+
ДобрыйМакс, шутки для, забавы ради Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2017, 16:49 |
|
||
|
regexp подстроки в произвольном порядке
|
|||
|---|---|---|---|
|
#18+
AmKadВместо динамики я бы прикрутил group by.Типа такого? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2017, 17:21 |
|
||
|
regexp подстроки в произвольном порядке
|
|||
|---|---|---|---|
|
#18+
пример с group bycount(*) || ' из ' || chk.cntТут ошибся :( Криво для 0 вхождений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2017, 17:27 |
|
||
|
regexp подстроки в произвольном порядке
|
|||
|---|---|---|---|
|
#18+
пример с group byТипа такого?Нет. Что-то вроде того, что привел env. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2017, 17:28 |
|
||
|
regexp подстроки в произвольном порядке
|
|||
|---|---|---|---|
|
#18+
AmKadпример с group byТипа такого?Нет. Что-то вроде того, что привел env.Хотя да, у тебя по сути тот же самый принцип. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2017, 17:32 |
|
||
|
regexp подстроки в произвольном порядке
|
|||
|---|---|---|---|
|
#18+
пример с group byпример с group bycount(*) || ' из ' || chk.cntТут ошибся :( Криво для 0 вхождений.Починил Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2017, 17:38 |
|
||
|
regexp подстроки в произвольном порядке
|
|||
|---|---|---|---|
|
#18+
envУже возникала подобная тема, если не одним вызовом, то можно. Одним - оракловая реализация регулярок не позволяет. Так как ограничение паттерна в регулярке 512b, то это скорее не прикладной вариант, а так чисто поржать, так как больше 3 подстрок не потянет =) Извращенные времена требуют извращенных мер Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2017, 17:45 |
|
||
|
regexp подстроки в произвольном порядке
|
|||
|---|---|---|---|
|
#18+
всем спасибо за ответы вот сделал я набор, сджойнил, радуюсь но понимаю, что таких наборов из подстрок несколько, а делать цикл и выбирать огромный селект повторно- не айс вще. то есть нужен цикл по таблиуе с наборами подстрок. мог бы сначала запомнить результаты в table of и оттуда селектить. Но из table of разве можно сделать селект так, чтобы не одну колонку в table из varray, а так , что б селект как с полноценной таблицы , отобрать все колонки ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2017, 18:16 |
|
||
|
regexp подстроки в произвольном порядке
|
|||
|---|---|---|---|
|
#18+
Надо добавить набор в группировку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2017, 18:29 |
|
||
|
regexp подстроки в произвольном порядке
|
|||
|---|---|---|---|
|
#18+
ДобрыйМакс, это разово надо или постоянно и быстро? Для частых и разных поисков лучше текстовый индекс создать и использовать contains ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2017, 19:08 |
|
||
|
regexp подстроки в произвольном порядке
|
|||
|---|---|---|---|
|
#18+
xtenderДобрыйМакс, Для частых и разных поисков лучше текстовый индекс создать и использовать containsС языка снял. =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2017, 19:23 |
|
||
|
regexp подстроки в произвольном порядке
|
|||
|---|---|---|---|
|
#18+
Можно обойтись двумя регекспами. Первым помешиваем к искомым вариантам зависимые инварианты. Вторым проверяем все перестановки инвариантов с помощью уже статического выражения. То есть разбирать и в цикле проходить ни проверяемую строку, ни искомую не нужно. приблизительно так Код: plsql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2017, 01:24 |
|
||
|
regexp подстроки в произвольном порядке
|
|||
|---|---|---|---|
|
#18+
баловства ради: regexp_replace+xmlquery Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. regexp_replace+xmltable Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. по идее я б и replace сунул в xmltable, но там у оракла беда - регулярки работают крайне хреново: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2017, 04:41 |
|
||
|
regexp подстроки в произвольном порядке
|
|||
|---|---|---|---|
|
#18+
скажите, а как бы вы назвали такое решение, удачное или нет : допустим, есть табличка TAB с наборами подстрок ккк,ппп,ппо ddd,ggg,kjk iii,ghd,rthr нужно отобрать строки с таблицы BAP, у которых одновременно все подстроки одного из наборов найдены я бы взял все наборы с подстроками сначала объединил бы в одну строку ('ккк,ппп,ппо, ddd,ggg,kjk,iii,ghd,rthr'), сделал полную выборку bulk collect c BAP (в которой найдена строка хотя бы с одной из подстрок), зафигачил в table of, а затем сделал цикл по TAB , распарсивая каждый отдельный набор подстрок по рекомендация выше и приджойнивая к forall - заполнял бы итоговую временную таблицу с результатами из table of . норм ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2017, 16:59 |
|
||
|
regexp подстроки в произвольном порядке
|
|||
|---|---|---|---|
|
#18+
xtender, текстовый индекс не подойдет к сожалению из-за архитектурных особеностей системы но инфа интересная, почитаю про эти индексы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2017, 17:04 |
|
||
|
regexp подстроки в произвольном порядке
|
|||
|---|---|---|---|
|
#18+
ДобрыйМаксскажите, а как бы вы назвали такое решение, удачное или нет : Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. Если декартово произведение будет кушать много темпа и тормозить, можно оптимизировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2017, 17:57 |
|
||
|
|

start [/forum/topic.php?fid=52&tid=1884812]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
200ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 470ms |

| 0 / 0 |
