powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / регулярные выражения
4 сообщений из 4, страница 1 из 1
регулярные выражения
    #33239781
4_Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня всем.
Как в постгресе транслировать одно значение в другое посредством рег выражения?
Выборка типа
select A from tb_test where '4264066'~reg_expr
тут всё хорошо работает.
А вот сделать что то типа
RES:=func('123456',reg_expr) в доках не нашёл (123456 это типа величина которую надо преобразовать reg_expr).

Просьба помогите кто делал такое.
...
Рейтинг: 0 / 0
регулярные выражения
    #33240018
фффф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
См. 9.7. Pattern Matching, функция substring()
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
create temp table aaa(v text);
insert into aaa values ('мама123');
insert into aaa values ('мыл456а');
insert into aaa values ('р789аму');
select substring(v, '\\d+') from aaa;
substring
---------
 123 
 456 
 789 
...
Рейтинг: 0 / 0
регулярные выражения
    #33252124
4_Alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ффффСм. 9.7. Pattern Matching, функция substring()
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
create temp table aaa(v text);
insert into aaa values ('мама123');
insert into aaa values ('мыл456а');
insert into aaa values ('р789аму');
select substring(v, '\\d+') from aaa;
substring
---------
 123 
 456 
 789 


Да, спасибо, работает, а если необходимо сделать так:
select substring('0001#70957777777', '0001#|.*/0002#\2') ;
те по идее оператор '0001#|.*/0002#\2' должен бы был отрезать префикс 0001# в начале выражения и подставить ту да же 0002#, а выводится '0001#' те совпадение начала строк, подскажите как правильно написать?
...
Рейтинг: 0 / 0
регулярные выражения
    #33252750
raul_83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
"Оператор |" - означает логическое "или" в RegExp'ах
Можно написать так:
select '0002#'||substring('0001#70957777777' from '^0001#(.*)')

То что в скобках (.*) - возвратит "70957777777"
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / регулярные выражения
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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