powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / regexp - можно сделать лучше?
6 сообщений из 6, страница 1 из 1
regexp - можно сделать лучше?
    #39815609
sharkoff_new
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть строка содержащая теги
{A1#*8878}{A2#*4862}
нужно выбрать 4862

сделал пока так:
Код: plsql
1.
2.
3.
4.
5.
6.
with t$src as
 (select '{A1#*8878}{A2#*4862}' from dual)
select replace(regexp_substr(regexp_substr('{A1#*4862}', '\{A1\#\*(\d+)}'),
                             '(\d+)\}$'),
               '}')
  from t$src




а можно это улучшить?
знания по regexp - недостаточные
...
Рейтинг: 0 / 0
regexp - можно сделать лучше?
    #39815610
sharkoff_new
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
6.
with t$src as
 (select '{A1#*8878}{A2#*4862}' str from dual)
select replace(regexp_substr(regexp_substr(str, '\{A2\#\*(\d+)}'),
                             '(\d+)\}$'),
               '}')
  from t$src
...
Рейтинг: 0 / 0
regexp - можно сделать лучше?
    #39815611
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sharkoff_newнужно выбрать 4862
Код: plsql
1.
select '4862'


sharkoff_newзнания по regexp - недостаточныеУ тебя недостаточные знания даже для формулирования проблемы.
...
Рейтинг: 0 / 0
regexp - можно сделать лучше?
    #39815617
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sharkoff_new
Код: plsql
1.
replace(regexp_substr(regexp_substr(

RTFM http://www.oracle.com/pls/topic/lookup?ctx=db112&id=SQLRF06303]REGEXP_SUBSTR. subexpr (FAQ)
...
Рейтинг: 0 / 0
regexp - можно сделать лучше?
    #39815618
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sharkoff_new,

какая версия оракля?

гляньте параметр regexp_substr
For a pattern with subexpressions, subexpr is a nonnegative integer from 0 to 9 indicating which subexpression in pattern is to be returned by the function. This parameter has the same semantics that it has for the REGEXP_INSTR function. Refer to REGEXP_INSTR for more information.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SQL> ed
Wrote file afiedt.buf

  1  with t$src as (select '{A1#*8878}{A2#*4862}' str from dual)
  2* select regexp_substr(str, '\{A2\#\*(\d+)}',1,1,'i',1) r  from t$src
SQL> /

R
----
4862



.....
stax
...
Рейтинг: 0 / 0
regexp - можно сделать лучше?
    #39815659
sharkoff_new
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic & Stax
Спасибо!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / regexp - можно сделать лучше?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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