powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / regexp_like
19 сообщений из 44, страница 2 из 2
regexp_like
    #39685493
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
feagor,

Код: plsql
1.
2.
union all
select 'n' from dual
...
Рейтинг: 0 / 0
regexp_like
    #39685495
feagor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AmKad,

сторонний пакет принимает на вход регулярные выражения и данное условие идет в числе многих.
...
Рейтинг: 0 / 0
regexp_like
    #39685496
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKad,
Swsovсторонний пакет принимает на вход регулярные выражения и данное условие идет в числе многих.
...
Рейтинг: 0 / 0
regexp_like
    #39685498
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
feagor
Код: plsql
1.
'^((n[^s])|([^n]))'

Лучше, но всё равно недостаточно.
Код: plsql
1.
'n'

...
Рейтинг: 0 / 0
regexp_like
    #39685500
feagor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
env,

|(n)$
...
Рейтинг: 0 / 0
regexp_like
    #39685507
IMNO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IMNO
Код: plsql
1.
'^([^n])|([n][^s])'



Код: plsql
1.
regexp_like(str, '(^[^n])|(^[n][^s]).+$')



StaxIMNO,

для двух символов фигня (Елик описал),
а вот для строки напр не начінается на select


.....
stax

Ну с двумя символами и правда не сильно сложно, хотя пришлось подумать.
Но вот как выкинуть целое слово?
Что-то вообще идей нет. Надо как-то дать понять ораклу, чтобы он воспринимал не список символов, а слово целиком.
Мда...вот задачка то
...
Рейтинг: 0 / 0
regexp_like
    #39685510
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IMNOНо вот как выкинуть целое слово?Многкратным многоступенчатым или.
IMNOНадо как-то дать понять ораклу, чтобы он воспринимал не список символов, а слово целиком.Ты тоже почитай rtfm.
...
Рейтинг: 0 / 0
regexp_like
    #39685513
ORA-madman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
 select * from (
    select 'nskk' str from dual
    union
    select ':nskk?' str from dual
    union
    select 'naskk?' str from dual
    union
    select 'kkns' from dual
    union
    select 'Ой!' from dual
    union
    select '' from dual
    ) where not regexp_like(str,'^ns')
...
Рейтинг: 0 / 0
regexp_like
    #39685515
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ORA-madman
Код: plsql
1.
not regexp_like

Ты не читал тему.
...
Рейтинг: 0 / 0
regexp_like
    #39685516
ORA-madman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ибо все, что идет в
Код: plsql
1.
[...]

это подмножество.
...
Рейтинг: 0 / 0
regexp_like
    #39685517
ORA-madman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понял.
...
Рейтинг: 0 / 0
regexp_like
    #39685518
IMNO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicМногкратным многоступенчатым или.
В таком случае получится страшная регулярка.
Хотя бы взять тот же "select". Казалось бы, что с "ns" задача простая, но регулярка неплохая получилась.
На длинные слова вообще же ужас будет.
А если нужно выкидывать несколько слов?
Тогда уже проще через обычные INSTR() и SUBSTR() делать, хотя регулярки считаются мощнее обычных функций, вроде как.
...
Рейтинг: 0 / 0
regexp_like
    #39685521
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IMNOНа длинные слова вообще же ужас будет.Не будет. Упрётся в 512 байт.
IMNOА если нужно выкидывать несколько слов?Смотри самый первый ответ.
...
Рейтинг: 0 / 0
regexp_like
    #39686086
IMNO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicНе будет. Упрётся в 512 байт.
Не хочу создавать новую тему.

Вопрос.
Можно обойти ограничения в 512 байт?
Появилась реальная необходимость. Можно либо написать витиеватую логику в 100-150 строк, или превысить ограничение 512 байт.
Думаю в сторону CLOB. Вроде бы у Oracle есть какая-то особая обработка типа CLOB регулярками.
...
Рейтинг: 0 / 0
regexp_like
    #39686114
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IMNOМожно обойти ограничения в 512 байт?
Появилась реальная необходимость. Можно либо написать витиеватую логику в 100-150 строк, или превысить ограничение 512 байт.
Думаю в сторону CLOB. Вроде бы у Oracle есть какая-то особая обработка типа CLOB регулярками.

регулярка прекрасно обрабатывает CLOB, 512 - это ограничение шаблона а не обрабатываемой строки.

SY.
...
Рейтинг: 0 / 0
regexp_like
    #39686125
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IMNOНе хочу создавать новую тему.
Jamie ZawinskiSome people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.
...
Рейтинг: 0 / 0
regexp_like
    #39686550
feagor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IMNO,

Может все таки включить мозг и вместо каких-то извращений подумать над нормальным решений?
...
Рейтинг: 0 / 0
regexp_like
    #39688836
MirnyiAtom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
regexp_like(str,'^[^n][^s]')
...
Рейтинг: 0 / 0
regexp_like
    #39688842
merch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Swsov Как можно выбрать строки, которые не начинаются с "ns".


MirnyiAtomregexp_like(str,'^[^n][^s]')


Код: plsql
1.
2.
3.
4.
5.
6.
with t1(str) as
(
select 'sskuka' from dual
)
select * from t1
where regexp_like(str,'^[^n][^s]');
...
Рейтинг: 0 / 0
19 сообщений из 44, страница 2 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / regexp_like
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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