Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 регулярное выражение  [new]
sdfgsdfg
Guest
подскажите пожалуйста
пусть есть оператор select regexp_substr('1we2,3,45F6,7890','.+,',1,1) from dual
хочу получить 1we2, а получаю 1we2,3,45F6,
вопрос можно ли как то указать что мне нужна самая короткая из подходящих под маску подстрок??
или надо вкручиватся и выдумывать хитрую маску что бы ей удовлетворяла только наикратчайщая из подстрок???
11 мар 12, 12:01    [12224485]     Ответить | Цитировать Сообщить модератору
 Re: регулярное выражение  [new]
AmKad
Member

Откуда:
Сообщений: 5222
sdfgsdfg,

select regexp_substr('1we2,3,45F6,7890','.+?,',1,1) from dual
11 мар 12, 12:08    [12224542]     Ответить | Цитировать Сообщить модератору
 Re: регулярное выражение  [new]
Elic
Member

Откуда:
Сообщений: 29990
'.+?,'
RTFM Perl-influenced Extensions in Oracle Regular Expressions (nongreedy) (FAQ)
11 мар 12, 12:08    [12224543]     Ответить | Цитировать Сообщить модератору
 Re: регулярное выражение  [new]
AmKad
Member

Откуда:
Сообщений: 5222
sdfgsdfg,

select regexp_substr('1we2,3,45F6,7890','[^,]+,',1,1) from dual
11 мар 12, 12:09    [12224546]     Ответить | Цитировать Сообщить модератору
 Re: регулярное выражение  [new]
grey_narn
Member

Откуда: Алма-Ата, Казахстан
Сообщений: 178
sdfgsdfg,

да, можно сделать регулярное выражение нежадным:
select regexp_substr('1we2,3,45F6,7890','.+?,',1,1) from dual

А выкручивасться в данном примере не надо, и без этого все просто:
select regexp_substr('1we2,3,45F6,7890','[^,]+,',1,1) from dual
11 мар 12, 12:09    [12224552]     Ответить | Цитировать Сообщить модератору
 Re: регулярное выражение  [new]
Vladimir Baskakov
Member

Откуда:
Сообщений: 2006
select regexp_replace('1we2,3,45F6,7890',',.*','') from dual

... сбрить товарищу усы ...
11 мар 12, 12:40    [12224756]     Ответить | Цитировать Сообщить модератору
 Re: регулярное выражение  [new]
regexp_spb
Guest
RU:Жадная и ленивая квантификация в регулярных выражениях
12 мар 12, 10:12    [12229550]     Ответить | Цитировать Сообщить модератору
 Re: регулярное выражение  [new]
ssddsfasdf
Guest
Всем спасибо понял!
12 мар 12, 11:40    [12230209]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить