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

Откуда:
Сообщений: 127
Подскажите, как с помощью решулярки выделить символ после знака / в произвольном тексте.

1/3 от доли в праве 14,1 га.
1/100 от доли в праве 14,1 га.

Нужно получить число 3 или 100
19 май 17, 18:03    [20497329]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как написать регулярку.  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром началась. КЯЗ
Сообщений: 27489
x17.mstu
выделить символ
x17.mstu
100
Я такого символа не знаю.
RTFM
19 май 17, 18:07    [20497345]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как написать регулярку.  [new]
решулярка
Guest
x17.mstu,

В форуме ПГ слишком много вопросов задали, не осилил?
19 май 17, 18:08    [20497348]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как написать регулярку.  [new]
Ozornitca
Member [заблокирован]

Откуда:
Сообщений: 634
ееееее я могу ответить

select substr(regexp_substr('1/3ffKKрпf от доли в праве 14,1 га.','\/[[:digit:]|[:alpha:]]{1,}'), 2) from dual

хотя наверное можно и проще сделать
19 май 17, 18:40    [20497415]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как написать регулярку.  [new]
Ozornitca
Member [заблокирован]

Откуда:
Сообщений: 634
во ище

select regexp_replace('1/3ffKKрпf от доли в праве 14,1 га.','(.*\/)([[:digit:]|[:alpha:]]{1,})(.*)','\2') from dual
19 май 17, 18:49    [20497429]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как написать регулярку.  [new]
Ozornitca
Member [заблокирован]

Откуда:
Сообщений: 634
но наверняка можно проще

я вечно сложно делаю, упрощать у меня получается с итерации третьей- четвертой) )))
19 май 17, 18:51    [20497431]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как написать регулярку.  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром началась. КЯЗ
Сообщений: 27489
Ozornitca
но наверняка можно проще
правильнее
19 май 17, 18:53    [20497435]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как написать регулярку.  [new]
Ozornitca
Member [заблокирован]

Откуда:
Сообщений: 634
Elic
Ozornitca
но наверняка можно проще
правильнее


покажите класс?
19 май 17, 19:03    [20497448]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как написать регулярку.  [new]
dbms_photoshop
Member

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

regexp_substr(..., '/([^ ]+)', 1, 1, null, 1)

Для решения таких сложнейших задач надо не менее 15 лет опыта.
19 май 17, 19:08    [20497453]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как написать регулярку.  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15398
with t0 as (
  select '1/1023 от доли в праве 14,1 га.' s
from dual
)
select s
      ,regexp_substr(s,'/(\d+)') f
      ,regexp_substr(s,'/(\d+)',1,1,null,1) "символ"
  from t0;
19 май 17, 19:15    [20497464]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как написать регулярку.  [new]
я пробел
Guest
orawish
with t0 as (
  select '1/1023 от доли в праве 14,1 га.' s
from dual
)
select s
      ,regexp_substr(s,'/(\d+)') f
      ,regexp_substr(s,'/(\d+)',1,1,null,1) "символ"
  from t0;


В произвольном тексте после "/" может быть пробел. И тогда твое решение не отработает.
19 май 17, 19:54    [20497526]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как написать регулярку.  [new]
Ozornitca
Member [заблокирован]

Откуда:
Сообщений: 634
dbms_photoshop
Ozornitca,

regexp_substr(..., '/([^ ]+)', 1, 1, null, 1)

Для решения таких сложнейших задач надо не менее 15 лет опыта.


клас)
22 май 17, 11:36    [20500793]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как написать регулярку.  [new]
Ozornitca
Member [заблокирован]

Откуда:
Сообщений: 634
я пробел
orawish
with t0 as (
  select '1/1023 от доли в праве 14,1 га.' s
from dual
)
select s
      ,regexp_substr(s,'/(\d+)') f
      ,regexp_substr(s,'/(\d+)',1,1,null,1) "символ"
  from t0;


В произвольном тексте после "/" может быть пробел. И тогда твое решение не отработает.


какой смысл в пробеле после / ? по логике выражение- это до первого [:punct:]

если пробел- значит выражения нет...
а вообще конечно, как заказчик скажет )))
22 май 17, 11:37    [20500798]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить