Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 правильно ли работает REGEXP_REPLACE?  [new]
rimall
Member

Откуда:
Сообщений: 37
SELECT REGEXP_REPLACE (s, '(a([0-9]*)a)', (SELECT '\2'
                                             FROM DUAL
                                            WHERE '123' = '\2'))
  FROM (SELECT 'a123a' s
          FROM DUAL);


ничего не возвращает

SELECT REGEXP_REPLACE (s, '(a([0-9]*)a)', (SELECT '\2'
                                             FROM DUAL
                                            WHERE '123' = '123'))
  FROM (SELECT 'a123a' s
          FROM DUAL);


возвращает '123'

Что у вас? Спасибо!
16 фев 17, 13:40    [20217628]     Ответить | Цитировать Сообщить модератору
 Re: правильно ли работает REGEXP_REPLACE?  [new]
--Eugene--
Member

Откуда: Боярышник
Сообщений: 1999
rimall,

не [0-9], а [0123456789]
16 фев 17, 13:41    [20217634]     Ответить | Цитировать Сообщить модератору
 Re: правильно ли работает REGEXP_REPLACE?  [new]
dbms_photoshop
Member

Откуда: sqlmdx.net
Сообщений: 4702
rimall,

В первом случае ты заменяешь всё на ничто, во втором всё на внутренние скобки (в который матчится число). Что смущает?
16 фев 17, 13:51    [20217683]     Ответить | Цитировать Сообщить модератору
 Re: правильно ли работает REGEXP_REPLACE?  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром началась. КЯЗ
Сообщений: 27098
--Eugene--
не [0-9], а [0123456789]
ты бы не позорился.
16 фев 17, 13:54    [20217701]     Ответить | Цитировать Сообщить модератору
 Re: правильно ли работает REGEXP_REPLACE?  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром началась. КЯЗ
Сообщений: 27098
dbms_photoshop
заменяешь всё
найденное.
16 фев 17, 13:56    [20217709]     Ответить | Цитировать Сообщить модератору
 Re: правильно ли работает REGEXP_REPLACE?  [new]
rimall
Member

Откуда:
Сообщений: 37
ну мне больше интересно что '\2' в SELECT заменяется на результат поиска

а после WHERE не заменяется

так и должно быть?

потому что больше отличий в запросах нет
16 фев 17, 14:00    [20217722]     Ответить | Цитировать Сообщить модератору
 Re: правильно ли работает REGEXP_REPLACE?  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром началась. КЯЗ
Сообщений: 27098
rimall
так и должно быть?
Чудак, RTFM Scalar Subquery Expressions (FAQ)
16 фев 17, 14:16    [20217813]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить