Знактокам регулярных выражений - regexp_like
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Gobur Профи
Вступление в Клуб: 06.11.2012
|
Пн Дек 17, 2018 15:07  Знактокам регулярных выражений - regexp_like |
|
Полезность: Нет оценки
|
Подскажите, почему для строки 99.3 следующее рег.выражение дает Истину
Код: | select 1
from dual
where regexp_like('99.3','^\d{1,16}((\.\d{2})|(\d\.\d)|(\d{2}))$') |
А для 9.3 - ложь?
Код: | select 1
from dual
where regexp_like('9.3','^\d{1,16}((\.\d{2})|(\d\.\d)|(\d{2}))$') |
|
|
 |
Volod Эксперт
Вступление в Клуб: 19.09.2007
|
Пн Дек 17, 2018 15:37   |
|
Полезность: 1
|
в первом случае \d{1,16} - первая 9ка
(\d\.\d) - 9.3
во втором условия для .3 нет |
|
 |
Эмиралька Эксперт
Вступление в Клуб: 09.11.2015
|
Ср Дек 19, 2018 10:16  Re: Знактокам регулярных выражений - regexp_like |
|
Полезность: 1
|
Gobur пишет: |
[code]...
А для 9.3 - ложь?
[code]select 1
from dual
where regexp_like('9.3','^\d{1,16}((\.\d{2})|(\d\.\d)|(\d{2}))$')[/code] |
'^\d{1,16}((\.\d{2})|(\d\.\d)|(\d{2}))$'
- с начала строки
- цифра 1-16 раз
- один из вариантов:
- точка
- две цифры
или
- цифра
- точка
- цифра
или
- ещё две цифры
- конец строки
разбираем.
ведущая цифра 1 раз присутствует.
далее следует точка. Вариант для совпадения только один - первый. Но в первом варианте требуется две цифры после точки, а у тебя одна. Итого ложь.
А не проще ли было вписать певое и последнее условия внутрь веток? Или выкинуть ветки, а сделать три regexp_like с простыми условиями через OR.
Есть также вариант вообще обойтись без регекспов. Будет и проще, и быстрее. |
|
 |
Gobur Профи
Вступление в Клуб: 06.11.2012
|
Ср Дек 19, 2018 10:29  Re: Знактокам регулярных выражений - regexp_like |
|
Полезность: 1
|
Эмиралька пишет: |
А не проще ли было вписать певое и последнее условия внутрь веток? Или выкинуть ветки, а сделать три regexp_like с простыми условиями через OR.
Есть также вариант вообще обойтись без регекспов. Будет и проще, и быстрее. |
Это у ЦФТ в приложении по 440-П так проверяется формат числа 16.2.
Но как теперь понятно - условие кривое. Спасибо. |
|
 |
Эмиралька Эксперт
Вступление в Клуб: 09.11.2015
|
Ср Дек 19, 2018 14:14  Re: Знактокам регулярных выражений - regexp_like |
|
Полезность: Нет оценки
|
Gobur пишет: | Это у ЦФТ в приложении по 440-П так проверяется формат числа 16.2. |
А. ясно. Круто, типа. |
|
 |
Andry Участник - экстремал
Вступление в Клуб: 14.01.2009
|
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|