|
Регулярные выражения
|
|||
---|---|---|---|
#18+
Всем привет! Есть строка, в которой основная информация о товаре через пробелы написана. Цель - выделить каждую характеристику в столбец для отчета. Первые данные я выдернул - REGEXP_SUBSTR (description,'(\S*)') as param_1 Вопрос - как собственно выдергивать следующие пару параметров от пробела до пробела, не включая пробелы (ну или отрезать их как я ниже)? Максимально подходящее только придумал что-то типа ltrim(REGEXP_SUBSTR(description,'(\s)(\w*)')) as param_2 И второй момент - посоветуйте, что почитать про регулярки? Я не первый раз долго сижу, и, видимо где-то понимаю не так и поэтому не получается писать. Примеров кучу просмотрел(( ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2019, 12:04 |
|
Регулярные выражения
|
|||
---|---|---|---|
#18+
nnmserg11, ~ Код: plsql 1. 2. 3. 4.
доводка рашпилем предполагается ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2019, 12:15 |
|
Регулярные выражения
|
|||
---|---|---|---|
#18+
nnmserg11, Сир, Студентам, желающим помощи HOWTO :: Как правильно задавать вопросы Как мне оформить свое сообщение? 1) Полная постановка задачи (без сокращений) 2) Подготовьте тестовые данные (если возможно), лучше в виде with например (не ваш случай): Код: plsql 1. 2. 3. 4. 5. 6. 7. 8.
2) Покажите что сделали 3) Покажите что получили (Лучше в текстовом виде, а не screenshot) 4) используйте Тэги, читать код без них неудобно 5) "Портянки текста", лучше убрать под spoiler или приложить файлом Для начала, воспользуйтесь документацией Database SQL Language Reference REGEXP_SUBSTR ... * position is a positive integer indicating the character of source_char where Oracle should begin the search. The default is 1, meaning that Oracle begins the search at the first character of source_char. * occurrence is a positive integer indicating which occurrence of pattern in source_char Oracle should search for. The default is 1, meaning that Oracle searches for the first occurrence of pattern. If occurrence is greater than 1, then the database searches for the second occurrence beginning with the first character following the first occurrence of pattern, and so forth. This behavior is different from the SUBSTR function, which begins its search for the second occurrence at the second character of the first occurrence. ... Пример хороших тестовых данных Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2019, 12:30 |
|
Регулярные выражения
|
|||
---|---|---|---|
#18+
nnmserg11 посоветуйте, что почитать про регулярки? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2019, 12:33 |
|
Регулярные выражения
|
|||
---|---|---|---|
#18+
Парни, большое спасибо! Как в школе, после тыкания носом в один и тот же пример, кажется что-то дошло, что я не понимал)) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2019, 13:08 |
|
Регулярные выражения
|
|||
---|---|---|---|
#18+
:) nnmserg11 Как в школе ... кажется что-то дошло, ... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2019, 13:42 |
|
Регулярные выражения
|
|||
---|---|---|---|
#18+
--Eugene--, Та не, серьезно) Я не верно понимаю описание значений (иногда и совсем не понимаю) - отсюда и затык. Например: * - Соответствует нолю или более вхождений. FacePalm Поэтому, когда мне дают пример (\S+), читаю: ( ) Используется для групповых выражений в качестве подвыражений. \S Соответствует не символу пробел. F*** + Соответствует одному или более вхождений. CoolStoryBob А теперь мне стало доходчивее. Буду читать ещё FAQ'и, практиковаться, может придет понимание более глубокое в какой-то момент)) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2019, 14:28 |
|
Регулярные выражения
|
|||
---|---|---|---|
#18+
Ещё один вариант: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
P1 P2 P3 P4par1 par2 par3 par4par1 par2 par3 par4par1 par2 par3 par4par1 par2 par3 par4 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2019, 17:06 |
|
|
start [/forum/topic.php?fid=52&tid=1881852]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 140ms |
0 / 0 |