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

Откуда: Симферополь
Сообщений: 1749
Добрый день,коллеги.
Кто знаком с регулярными выражениями,помогите,пожалуйста..
Сам я не сильно знаком,но знаю штука сильная и для моей задачи как раз то.
В инете полно примеров до символа,а после символа нет...(или они такие мудрёные,типа после символа и ещё заменить то на то и выкинуть это)

А вникать символику в regexp ради такой разовой задачи..ну нет желания...

Нужно разбить строку
Серия № Номер
По ключевому символу №
Я для нахождения серии уже сам в инете нашёл.(много примеров до символа)
select  regexp_substr('Моя серия-4415 № 0000052','[^№"]+') seria from dual

А как мне номер 0000052 вытащить.?
28 апр 16, 11:23    [19116391]     Ответить | Цитировать Сообщить модератору
 Re: Регулярное выражение после символа.  [new]
Добрый Э - Эх
Guest
irbis_al,

Чем классические INSTR / SUBSTR не угодили?
28 апр 16, 11:27    [19116425]     Ответить | Цитировать Сообщить модератору
 Re: Регулярное выражение после символа.  [new]
irbis_al
Member

Откуда: Симферополь
Сообщений: 1749
Добрый Э - Эх
irbis_al,

Чем классические INSTR / SUBSTR не угодили?

Ну надо приучаться и regexp когда-то. :-)
И будет изящнее на regexp.
28 апр 16, 11:29    [19116441]     Ответить | Цитировать Сообщить модератору
 Re: Регулярное выражение после символа.  [new]
Elic
Member

Откуда:
Сообщений: 29990
irbis_al
А вникать символику в regexp ради такой разовой задачи..ну нет желания...
Нахал.
28 апр 16, 11:29    [19116445]     Ответить | Цитировать Сообщить модератору
 Re: Регулярное выражение после символа.  [new]
irbis_al
Member

Откуда: Симферополь
Сообщений: 1749
Elic
irbis_al
А вникать символику в regexp ради такой разовой задачи..ну нет желания...
Нахал.


Ничего,такого...-
,возможно у кого то есть шаблон ,он и бросит в форум...я сам всегда так делаю...
если у меня есть подобное решение.
28 апр 16, 11:33    [19116479]     Ответить | Цитировать Сообщить модератору
 Re: Регулярное выражение после символа.  [new]
Добрый Э - Эх
Guest
irbis_al
И будет изящнее на regexp.

Ну, изящность - понятие субъективное.
"Заводить комбайн ради одного колоска" я бы не стал. А сделал бы по-старинке:
select str
     , substr(str,1,instr(str,'№',1,1) - 1) as seria
     , substr(str, instr(str,'№',1,1)) as nomer
  from (select  'Моя серия-4415 № 0000052' str from dual);
28 апр 16, 11:34    [19116490]     Ответить | Цитировать Сообщить модератору
 Re: Регулярное выражение после символа.  [new]
irbis_al
Member

Откуда: Симферополь
Сообщений: 1749
Добрый Э - Эх
irbis_al
И будет изящнее на regexp.

Ну, изящность - понятие субъективное.
"Заводить комбайн ради одного колоска" я бы не стал. А сделал бы по-старинке:
select str
     , substr(str,1,instr(str,'№',1,1) - 1) as seria
     , substr(str, instr(str,'№',1,1)) as nomer
  from (select  'Моя серия-4415 № 0000052' str from dual);


Так классически мы сделали...:-)
Но всё же думаю на regexp изящнее будет и проще выглядеть...
Ну и в целях самообразования... :-)
Когда то может и сложнее быть.
28 апр 16, 11:36    [19116510]     Ответить | Цитировать Сообщить модератору
 Re: Регулярное выражение после символа.  [new]
Elic
Member

Откуда:
Сообщений: 29990
irbis_al
,возможно у кого то есть шаблон ,он и бросит в форум..
Какой шаблон? Это разовые задачи. Но на:
'№\s*(\d+)'
28 апр 16, 11:37    [19116516]     Ответить | Цитировать Сообщить модератору
 Re: Регулярное выражение после символа.  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
irbis_al
Добрый Э - Эх
irbis_al,

Чем классические INSTR / SUBSTR не угодили?

Ну надо приучаться и regexp когда-то. :-)
И будет изящнее на regexp.

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

в вашем случае - необходимости нет и в помине
28 апр 16, 11:39    [19116531]     Ответить | Цитировать Сообщить модератору
 Re: Регулярное выражение после символа.  [new]
irbis_al
Member

Откуда: Симферополь
Сообщений: 1749
Elic
irbis_al
,возможно у кого то есть шаблон ,он и бросит в форум..
Какой шаблон? Это разовые задачи. Но на:
'№\s*(\d+)'


Благодарю Вас Elic..сам я бы долго допирал :-)
28 апр 16, 11:41    [19116554]     Ответить | Цитировать Сообщить модератору
 Re: Регулярное выражение после символа.  [new]
Elic
Member

Откуда:
Сообщений: 29990
orawish
однако учтите, что изящества в беге с гирей на ноге не бывает,
Не надо огульно пугать. Гирей это может стать только в определённых, охренительно массивных условиях. А обычно намеренный уход от регулярусов - это экономия на спичках в ущерб удобству.
28 апр 16, 11:45    [19116588]     Ответить | Цитировать Сообщить модератору
 Re: Регулярное выражение после символа.  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
Elic
orawish
однако учтите, что изящества в беге с гирей на ноге не бывает,
Не надо огульно пугать. Гирей это может стать только в определённых, охренительно массивных условиях. А обычно намеренный уход от регулярусов - это экономия на спичках в ущерб удобству.

кто спорит?
однако, всё же есть люди, которых надо пугать остерегать от бездумного использования
непонятных (им) типа-модностей
28 апр 16, 16:48    [19118511]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить