Нужна помощь с REGEXP_REPLACE - PullRequest
       2

Нужна помощь с REGEXP_REPLACE

0 голосов
/ 06 января 2011

У меня есть столбец данных, который содержит подстроку, подобную этой:

'This is a string with ID=123 contained inside'

мне нужно заменить ID=123 другой фиксированной строкой, скажем ID=1

У меня есть рабочий вызов REPLACE, который корректно меняет значения, но это работает только с известным исходным номером идентификатора. Я могу расширить его, чтобы он работал, когда число цифр известно, используя некоторую подстроку магии, однако, номер идентификатора может иметь произвольное количество цифр, поэтому я думаю, что регулярное выражение.

любая помощь с регулярным выражением magix для захвата всей подстроки ID=999 независимо от того, сколько цифр будет очень полезно.

спасибо

Ответы [ 2 ]

0 голосов
/ 06 января 2011

Попробуйте \ d + и переместите группировку, чтобы окружить все предложение:

select regexp_replace('This is a string with ID=123 contained inside', 'ID=(\d+)', 'ID=456') rep from dual;

 REP                                           
 --------------------------------------------- 
 This is a string with ID=456 contained inside 
0 голосов
/ 06 января 2011

Попробуйте найти

ID=\d*

Если вам нужно сохранить первую цифру, попробуйте найти

ID=(\d)\d*

и заменитес

ID=$1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...