powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Регулярные выражения
25 сообщений из 32, страница 1 из 2
Регулярные выражения
    #39700807
Pol.ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не получается найти слово которое ограничено чем угодно повторяется два раза и находится в разных предложениях , получается что-то вроде этого но не работает


SELECT * FROM text
where regexp_like( text, (^|\s*([A-Za-z]+|[A-Za-z]+-|[A-Za-z]+-[A-Za-z])+)([.\s,;:!?])\1);



bad girls, bad boys,bad phone. phone phone mam: phone phone?
wup, wup, BORAK OBAMA OBAMA MAMA; it is OBAMA .
hustone, we have a problem, big problem. Very big, big, big
high cost - high perfomance, high
full-hd,tv-full,full-hd:full-hd
...
Рейтинг: 0 / 0
Регулярные выражения
    #39700886
andrey odegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так?
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
with
  t as (
    select 'bad girls, bad boys,bad phone. phone phone mam: phone phone?' s
    from dual union all
    select 'wup, wup, BORAK OBAMA OBAMA MAMA; it is OBAMA .'
    from dual union all
    select 'hustone, we have a problem, big problem. Very big, big, big'
    from dual union all
    select 'high cost - high perfomance, high'
    from dual union all
    select 'full-hd,tv-full,full-hd:full-hd'
    from dual
  )
select *
from t
where regexp_like(
        s, '(^|[^a-z])([a-z]{2,})[^.]*\.(.*[^a-z])?\2([^a-z]|$)', 'i'
      );


Sbad girls, bad boys,bad phone. phone phone mam: phone phone?hustone, we have a problem, big problem. Very big, big, big
...
Рейтинг: 0 / 0
Регулярные выражения
    #39700891
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
25.
26.
27.
28.
29.
SQL> with t as (select
  2  'bad girls, bad boys,bad phone. phone phone mam: phone phone?
  3  wup, wup, BORAK OBAMA OBAMA MAMA; it is OBAMA .
  4  hustone, we have a problem, big problem. Very big, big, big
  5  high cost - high perfomance, high
  6  full-hd,tv-full,full-hd:full-hd' as s from dual
  7  )
  8  select regexp_substr
  9         ( regexp_replace(s,      '(^|$|[[:space:],;:.!?])', ' \1 ')
 10         , '( ([[:alpha:]]+(-[[:alpha:]]+)?) ).*?[,;:.!?].*?\1'
 11         , 1
 12         , i
 13         , 'n'
 14         , 2
 15         ) as word
 16    from t, (select level as i from dual connect by level <= 11)
 17  ;

WORD
------------------------------------------------------------------------
bad
phone
phone
wup
OBAMA
problem
big
high
full-hd
...
Рейтинг: 0 / 0
Регулярные выражения
    #39700892
Pol.ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey odegov,

Нет немного не так , надо что бы выводилось строка в которой слово повторяется больще двух раз в пределе одного предложения.
...
Рейтинг: 0 / 0
Регулярные выражения
    #39700905
andrey odegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А так?
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
with
  t as (
    select 'bad girls, bad boys,bad phone. phone phone mam: phone phone?' s from dual
    union all
    select 'wup, wup, BORAK OBAMA OBAMA MAMA; it is OBAMA .' from dual
    union all
    select 'hustone, we have a problem, big problem. Very big, big, big' from dual
    union all
    select 'hustone, we have a problem, big problem. Very big, bi...' from dual
    union all
    select 'high cost - high perfomance, high' from dual
    union all
    select 'full-hd,tv-full,full-hd:full-hd' from dual
  )
select *
from t
where regexp_like(
        s, '(^|[^a-z])([a-z]{2,})[^.]*\.((.*[^a-z])?\2([^a-z]|$)){2,}', 'i'
      )
...
Рейтинг: 0 / 0
Регулярные выражения
    #39700912
Pol.ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey odegov,

Нет , Смысл в том , что бы вывести строки где одно слово повторяется больше двух раз в одном предложении , при чём слово может быть с тире , типо Мама и мама- два разных слова
Надо огранить слово и найти по шаблону
...
Рейтинг: 0 / 0
Регулярные выражения
    #39700916
andrey odegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А это про что тогда?Pol.kaНе получается найти слово которое ограничено чем угодно повторяется два раза и находится в разных предложениях
, получается что-то вроде этого но не работает


SELECT * FROM text
where regexp_like( text, (^|\s*([A-Za-z]+|[A-Za-z]+-|[A-Za-z]+-[A-Za-z])+)([.\s,;:!?])\1);



bad girls, bad boys,bad phone. phone phone mam: phone phone?
wup, wup, BORAK OBAMA OBAMA MAMA; it is OBAMA .
hustone, we have a problem, big problem. Very big, big, big
high cost - high perfomance, high
full-hd,tv-full,full-hd:full-hd
Приведите пример того, что хотите получить на выходе.
...
Рейтинг: 0 / 0
Регулярные выражения
    #39700936
Pol.ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey odegov,

Это то же самое
...
Рейтинг: 0 / 0
Регулярные выражения
    #39700938
Pol.ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey odegov,
Например

1 Мама мама мама , мама- мама-
2 мимо мима мими , мимо-мимо , мимо-мимо.
3 Назад вперёд вверх вниз. Вверх вниз
4 Семь восемь. Семь семь

Что бы выводились только 1 2 4 строки
...
Рейтинг: 0 / 0
Регулярные выражения
    #39700949
andrey odegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Последняя попытка и сдаюсь :)
Код: 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
  t as (
    select 'bad girls, bad boys,bad phone. phone phone mam: phone phone? ' s from dual
    union all
    select 'wup, wup, BORAK OBAMA OBAMA MAMA; it is OBAMA . ' from dual
    union all
    select 'hustone, we have a problem, big problem. Very big, big, big' from dual
    union all
    select 'high cost - high perfomance, high ' from dual
    union all
    select 'full-hd,tv-full,full-hd:full-hd' from dual
    union all
    select 'В лесу родилась елочка. В лесу,лесу-лесу,лесу она росла. В лесу, лесу' from dual
    union all
    select 'В лесу родилась елочка. В лесу,лесу она росла' from dual
  )
select *
from t
where regexp_like(s,
                  q'~(^|[^[:alpha:]-])
                     ([[:alpha:]]([[:alpha:]]*-)?[[:alpha:]]+)
                     [,.;:?![[:space:]]\2
                     ([^[:alpha:]-]|$)~',
                  'x');


Sbad girls, bad boys,bad phone. phone phone mam: phone phone?wup, wup, BORAK OBAMA OBAMA MAMA; it is OBAMA .full-hd,tv-full,full-hd:full-hdВ лесу родилась елочка. В лесу,лесу она росла
PS: О q'~...~' можно почитать здесь .
...
Рейтинг: 0 / 0
Регулярные выражения
    #39700951
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pol.kaнайти словоPol.kaвывести строки http://www.bugtraq.ru/forum/faq/general/smart-questions.html] RTFM
...
Рейтинг: 0 / 0
Регулярные выражения
    #39700955
andrey odegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Та была предпоследняя
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
with
  t as (
    select '1 Мама мама мама , мама- мама- ' s from dual
    union all
    select '2 мимо мима мими , мимо-мимо , мимо-мимо.' from dual
    union all
    select '3 Назад вперёд вверх вниз. Вверх вниз' from dual
    union all
    select '4 Семь восемь. Семь семь' from dual
  )
select *
from t
where regexp_like(s,
                  q'~(^|[^[:alpha:]-])
                     ([[:alpha:]]([[:alpha:]]*-)?[[:alpha:]]+)
                     [,.;:?![[:space:]]+\2
                     ([^[:alpha:]-]|$)~',
                  'ix');


S1 Мама мама мама , мама- мама- 2 мимо мима мими , мимо-мимо , мимо-мимо.4 Семь восемь. Семь семь
...
Рейтинг: 0 / 0
Регулярные выражения
    #39700964
Pol.ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey odegov,

Боюсь опять не то
...
Рейтинг: 0 / 0
Регулярные выражения
    #39700973
andrey odegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, тогда ловите золотую рыбку сами.
...
Рейтинг: 0 / 0
Регулярные выражения
    #39700975
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pol.kaБоюсь Глаза разул?
...
Рейтинг: 0 / 0
Регулярные выражения
    #39701141
Pol.ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic,

В шаблоне мы ищем это слово , а выводятся именно строки
...
Рейтинг: 0 / 0
Регулярные выражения
    #39701168
andrey odegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам ваше регулярное выражение надо потестировать.
Можно здесь .
...
Рейтинг: 0 / 0
Регулярные выражения
    #39701213
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pol.kaElic,

В шаблоне мы ищем это слово , а выводятся именно строкиРаз ты не способен сперва внятно сформулировать вопрос, а потом воспользоваться предложенной удочкой,
то мозгов у тебя маловато.
...
Рейтинг: 0 / 0
Регулярные выражения
    #39701325
Pol.ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic, Я конечно прошу прощение за невнятную формулировку и крайне благодарен за критику , я как раз тестирую на этом сайте но работает не так как надо
...
Рейтинг: 0 / 0
Регулярные выражения
    #39701332
Pol.ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey odegov,
Спасибо , я как раз пользуюсь этим сайтом , но пока безрезультатно
...
Рейтинг: 0 / 0
Регулярные выражения
    #39701342
Pol.ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pol.ka,

Попробую всё же перебороть свою проблему и сформулировать нормально.
Есть строки в которых содержится текст , надо вывести те строки в тексте которых есть слово повторяющееся 2 и более раз в пределе одного предложения по правилам русской пунктуации , при чём
слова пять , пять- , -пять , пять-пять , все разные. Шаблоном я пытался как раз найти это слово и произвести поиск по нему.
...
Рейтинг: 0 / 0
Регулярные выражения
    #39701343
Pol.ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pol.ka,

И пользоваться можно только regex_like
...
Рейтинг: 0 / 0
Регулярные выражения
    #39701350
Pol.ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey odegov,
Спасибо , я как раз пользуюсь этим сайтом , но пока безрезультатно
...
Рейтинг: 0 / 0
Регулярные выражения
    #39702081
Pol.ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey odegov,

Надеюсь вы ещё тут , все это время у меня было неточная формулировка , слово должно повторятся строго больше 2 раз
...
Рейтинг: 0 / 0
Регулярные выражения
    #39702214
andrey odegov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
with
  t as (
    select '1 Мама мама мама , мама- мама- ' s from dual
    union all
    select '2 мимо мима мими , мимо-мимо , мимо-мимо.' from dual
    union all
    select '3 Назад вперёд вверх вниз. Вверх вниз' from dual
    union all
    select '4 Семь восемь. Семь семь' from dual
  )
select *
from t
where regexp_like(s,
                  q'~([^[:alpha:]-]|^)
                     (
                       [[:alpha:]]{2,}(-[[:alpha:]]{2,})?|
                       -[[:alpha:]]{2,}|
                       [[:alpha:]]{2,}-
                     )
                     [^[:alpha:]-]
                     ((.*?[^[:alpha:]-])?\2([^[:alpha:]-]|$)){2}~',
                  'ix');


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


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