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

даже на упрощенном примере не получается.

найти слово из одной буквы между словами:
SQL> select 1 from dual
  2   where regexp_like('слово с слово', '[[:space:][:alnum:]{1}[:space:]]')
  3  /
 
         1
----------
         1

но и это находит:
SQL> select 1 from dual
2 where regexp_like('слово слово слово', '[[:space:][:alnum:]{1}[:space:]]')
3 /

1
----------
1

указал ведь, что один символ - {1}
в чем проблема?
спасибо.




















<a href=http://www.scriptline.net/ >running your own website</a>























<a href=http://www.scriptline.net/ >social networking platform</a>
7 авг 10, 17:28    [9228857]     Ответить | Цитировать Сообщить модератору
 Re: найти предложения в которых есть слова из одной буквы  [new]
regexp_like
Guest
немного уточню:
нужно найти слова в предложении состоящие из одного любого символа, кроме пробела.
в предложении может быть только один этот символ.
предложение может начинаться с этого символа и заканчиваться на него.
7 авг 10, 17:45    [9228881]     Ответить | Цитировать Сообщить модератору
 Re: найти предложения в которых есть слова из одной буквы  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10043
SQL> select 1 from dual
  2  where regexp_like('word','(\W|^)\w(\W|$)')
  3  /

no rows selected

SQL> select 1 from dual
  2  where regexp_like('a word','(\W|^)\w(\W|$)')
  3  /

         1
----------
         1

SQL> select 1 from dual
  2  where regexp_like('word a','(\W|^)\w(\W|$)')
  3  /

         1
----------
         1

SQL> select 1 from dual
  2  where regexp_like('word     a      word','(\W|^)\w(\W|$)')
  3  /

         1
----------
         1

SQL> select 1 from dual
  2  where regexp_like('word word','(\W|^)\w(\W|$)')
  3  /

no rows selected

SQL> select 1 from dual
  2  where regexp_like('     a      ','(\W|^)\w(\W|$)')
  3  /

         1
----------
         1

SQL> select 1 from dual
  2  where regexp_like(' ','(\W|^)\w(\W|$)')
  3  /

no rows selected

SQL>   

SY.

Сообщение было отредактировано: 7 авг 10, 19:39
7 авг 10, 19:38    [9229070]     Ответить | Цитировать Сообщить модератору
 Re: найти предложения в которых есть слова из одной буквы  [new]
regexp_like
Guest
SY, огромное вам спасибо!
8 авг 10, 00:36    [9229684]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить