|
|
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
Привет! Кто знает регулярки хелп плиз! есть строка типа вот этой: Код: plsql 1. 2. Параметр &p_segment4 идет из проги моей. Там типа лист. Так вот если параметра нет, т.е. p_segment4 == null, то я подставлю в IN(t.segment4) в итоге получится валидный sql Код: sql 1. . Проблема в том, что мне надо выдрать этот самый t.segment4. я так понял нужна регулярный шаблон типа where|and * IN (&p_segment4). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2018, 16:18 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
Используйте API для создания динамических SQL запросов (jOOQ, QueryDSL и т.п.). Регулярные выражения в этой задаче как козе баян. Одни неловкий рефакторинг и оно уже не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2018, 16:35 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
AndronovMV, Код: java 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2018, 17:13 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
Usman, Да вот есть у меня уже собранный запрос и мне надо на оборот в нем расковырять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2018, 17:23 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2018, 17:25 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
AndronovMVUsman, Да вот есть у меня уже собранный запрос и мне надо на оборот в нем расковырять Нет, не надо. Но уж если совсем невмоготу, то https://www.google.com/search?q=java sql parser ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2018, 17:31 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
Код: java 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2018, 17:32 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
вадя, ))) я все больше понимая, что форум это как комп, че на вход подал, то и получи. Дело в том что &p_segment4 может быть и не &p_segment4, а например &p_seg4. Мне известно только 2 вещи: 1. запрос 2. переменная &p_segment4 что там в самом запросе я х.з., но я точно знаю что там есть выражение с IN где присутствует переменная. То что мне предлагают предикаты всякие или парсеры за это конечно спасибо, но задача локальная, одноразовая и из нее не надо раздувать чуть ли не целую ветку с проектом. Я всего лишь хотел узнать шаблон регулярки для этого примера. Если не найду, значит придется в циклах херачить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2018, 17:44 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
AndronovMV, Вот же зануда. :) Ну, тогда объясни как именно хочется искать и заменять. Потому что с одной стороны AndronovMVнужна регулярный шаблон типа where|and * IN (&p_segment4). AndronovMVДело в том что &p_segment4 может быть и не &p_segment4, а например &p_seg4. А потом опять AndronovMVпеременная &p_segment4 Я правильно понимаю, что хочется по имени переменной вытащить всё что перед IN без пробелов и вставить его вместо переменной? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2018, 17:59 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
AndronovMV, а кто мешает заменить &p_ на &p_segment4 в реплайсе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2018, 18:01 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, )) >>Я правильно понимаю, что хочется по имени переменной вытащить всё что перед IN без пробелов и вставить его вместо переменной? Ну не прям все, а от where или and до переменной. А так да! Короче выражение может быть как: Код: sql 1. так и: Код: sql 1. Мне нужно вытащить t.segment4, т.е. от команды where || and до IN в которой лежит переменная ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2018, 18:04 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
вот этот костыль, к которому мне придется прибегнуть если не найду более изящного решения: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2018, 18:08 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
AndronovMV, Так не важно что там AND, WHERE или JOIN, просто от пробела до пробела. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2018, 18:09 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, так у меня пробелов может быть и до IN и после. Он их и захватит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2018, 18:10 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
Вытащить довольно просто, если это слово вообще применимо к регулярным выражениям: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. А вот с заменой сложнее. lookbehind не разрешает повторы. Если есть уверенность, что переменная больше нигде не используется, то тогда String.replace(), а вот если нужно заменить только те вхождения, где переменная внутри IN, то уже надо подумать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2018, 18:22 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
Воо.. спасибо дорогой! Дальше я сам) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2018, 18:49 |
|
||
|
Помогите с регуляркой
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Слухай а как тут добавить еще и вариант с NOT IN ? )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2018, 18:54 |
|
||
|
|

start [/forum/topic.php?fid=59&gotonew=1&tid=2122262]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
10ms |
get first new msg: |
9ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 229ms |
| total: | 385ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...