Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / regexp_like / 25 сообщений из 44, страница 1 из 2
09.08.2018, 11:41
    #39685362
Swsov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
regexp_like
Как можно выбрать строки, которые не начинаются с "ns".
Следующая версия не работает
regexp_like (text, '^[^(ns)]')
...
Рейтинг: 0 / 0
09.08.2018, 11:46
    #39685368
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
regexp_like
...
Рейтинг: 0 / 0
09.08.2018, 11:48
    #39685370
123йй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
regexp_like
Swso,
Код: plsql
1.
2.
3.
4.
5.
select * from (
select 'nsll' str from dual 
union
select 'kkns' from dual ) where 
instr(str,'ns')>1
...
Рейтинг: 0 / 0
09.08.2018, 11:52
    #39685375
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
regexp_like
123йй,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
SQL> ed
Wrote file afiedt.buf

  1  select * from (
  2  select 'nsll' str from dual
  3  union
  4  select 'kkns' from dual
  5  union
  6  select 'Ой!' from dual
  7  ) where
  8* instr(str,'ns')>1
SQL> /

STR
----
kkns



....
stax
...
Рейтинг: 0 / 0
09.08.2018, 11:54
    #39685376
123йй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
regexp_like
Stax,

для тебя на блюдечке с золотой коемочкой instr(str,'ns')!=1
...
Рейтинг: 0 / 0
09.08.2018, 11:57
    #39685378
123йй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
regexp_like
Stax,
null учесть сможешь ?
...
Рейтинг: 0 / 0
09.08.2018, 11:58
    #39685380
Swsov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
regexp_like
Удивительно, столько ответов и все не в тему )
Спрошу еще раз, сторонний пакет принимает на вход регулярные выражения и данное условие идет в числе многих.
...
Рейтинг: 0 / 0
09.08.2018, 12:04
    #39685388
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
regexp_like
SwsovУдивительно, столько ответов и все не в тему )
Спрошу еще раз, сторонний пакет принимает на вход регулярные выражения и данное условие идет в числе многих.

NOT regexp_like не принимает?

.....
stax
...
Рейтинг: 0 / 0
09.08.2018, 12:15
    #39685414
Swsov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
regexp_like
Stax,
Нет, regexp_like в сторонней процедуре.
Все, что можно менять это выражение
...
Рейтинг: 0 / 0
09.08.2018, 12:17
    #39685418
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
regexp_like
Swsovсторонний пакет принимает на вход регулярные выраженияДарю регулярку: начинается не с n или начинается с n, а продолжается не с s.
...
Рейтинг: 0 / 0
09.08.2018, 12:17
    #39685419
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
regexp_like
SwsovНет, regexp_like в сторонней процедуре.
Все, что можно менять это выражение http://www.bugtraq.ru/forum/faq/general/smart-questions.html] RTFM
...
Рейтинг: 0 / 0
09.08.2018, 12:20
    #39685424
Swsov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
regexp_like
Elic,

Да обойти не проблема, мне интересно почему в данном случае oracle не считает (ns) целым выражением
...
Рейтинг: 0 / 0
09.08.2018, 12:23
    #39685431
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
regexp_like
SwsovStax,
Нет, regexp_like в сторонней процедуре.
Все, что можно менять это выражение

знал метод через гланды, но Вам тож наверное не подойдет

строку заменить на один символ, аля regexp_like(replace(nvl(str,'*'), 'ns', '#'), '^[^#]')

...
stax
...
Рейтинг: 0 / 0
09.08.2018, 12:32
    #39685437
feagor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
regexp_like
Stax,
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
select * from (
 select 'nsll' str from dual
 union
 select 'kkns' from dual
 union
 select 'Ой!' from dual
 ) where
regexp_like(str,'^[^(?:ns)]')
...
Рейтинг: 0 / 0
09.08.2018, 12:38
    #39685448
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
regexp_like
Swsovмне интересно почему в данном случае oracle не считает (ns) целым выражениемRTFM POSIX Operators in Oracle SQL Regular Expressions: (Non)Matching Character List (FAQ) : "In the list, all operators except these are treated as literals:…"
...
Рейтинг: 0 / 0
09.08.2018, 12:40
    #39685452
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
regexp_like
feagor,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
SQL> ed
Wrote file afiedt.buf

  1  select * from (
  2   select 'nskk' str from dual
  3   union
  4   select ':nskk?' str from dual
  5   union
  6   select 'naskk?' str from dual
  7   union
  8   select 'kkns' from dual
  9   union
 10   select 'Ой!' from dual
 11   union
 12   select '' from dual
 13   ) where
 14* regexp_like(str,'^[^(?:ns)]')
SQL> /

STR
------
kkns
Ой!



.....
stax
...
Рейтинг: 0 / 0
09.08.2018, 12:41
    #39685457
IMNO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
regexp_like
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
WITH 
  TMain AS(SELECT 'nsaaa' as str
           FROM DUAL
           UNION ALL
           SELECT 'ns123'
           FROM DUAL
           UNION ALL
           SELECT 'aaans'
           FROM DUAL
           UNION ALL
           SELECT '123ns'
           FROM DUAL
           UNION ALL
           SELECT 'ans'
           FROM DUAL
           UNION ALL
           SELECT '1ns'
           FROM DUAL
           UNION ALL
           SELECT 'n1s'
           FROM DUAL)
SELECT *
FROM TMain
WHERE regexp_like(str, '^([^n])|([n][^s])')
...
Рейтинг: 0 / 0
09.08.2018, 12:42
    #39685460
env
env
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
regexp_like
feagor,

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

Однако там все-таки не описано, что в данном случае не будут работать описанные там же subexpression
...
Рейтинг: 0 / 0
09.08.2018, 12:46
    #39685468
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
regexp_like
IMNO,

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


.....
stax
...
Рейтинг: 0 / 0
09.08.2018, 12:46
    #39685469
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
regexp_like
SwsovОднако там все-таки не описано, что в данном случае не будут работать описанные там же subexpressionРазуй глаза.
...
Рейтинг: 0 / 0
09.08.2018, 12:47
    #39685471
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
regexp_like
IMNO
Код: plsql
1.
'^([^n])|([n][^s])'

Ты не полностью перевёл регулярку.
Код: plsql
1.
'nsgggggng'

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

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
) where
regexp_like(str,'^((n[^s])|([^n]))')
...
Рейтинг: 0 / 0
09.08.2018, 13:06
    #39685490
feagor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
regexp_like
stax,
продолжаю верить, что когда нибудь можно будет так ^(?!ns)
...
Рейтинг: 0 / 0
09.08.2018, 13:06
    #39685491
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
regexp_like
Код: plsql
1.
not like 'ns%'

еще никто не предлагал?
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / regexp_like / 25 сообщений из 44, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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