Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Регулярные выражения / 8 сообщений из 8, страница 1 из 1
11.04.2017, 09:51
    #39436312
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
Маска ЧЧЧЧЧЧЧБЧЧЧББЧ
Код: plsql
1.
2.
3.
4.
/* Formatted on 11/04/2017 9:52:43 (QP5 v5.300) */
SELECT PASSPORT_NUMBER
  FROM USER
 WHERE REGEXP_LIKE (PASSPORT_NUMBER, '[[:digit:]]{7}[[:alpha:]]{1}[[:digit:]]{3}[[:alpha:]]{2}[[:digit:]]{1}')



Итого
4260958M099PB6
4281084B011PB01

Как сделать чтоб, такие вот не проскакивали 4281084B011PB01
Конечно могу поставить условие на длину строки, но интересно сделать регулярками
...
Рейтинг: 0 / 0
11.04.2017, 09:52
    #39436313
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
-=Koba=-но интересно сделать регуляркамиЯкоря.
...
Рейтинг: 0 / 0
11.04.2017, 09:54
    #39436314
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
Elic-=Koba=-но интересно сделать регуляркамиЯкоря.

Я понимаю, что вы специалист в своей области
Но не стоит так пренебрежительно относится к другим.

Как кость собаки бросили...
Хотите подсказать, дайте более развернутый ответ
...
Рейтинг: 0 / 0
11.04.2017, 09:56
    #39436319
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
Код: plsql
1.
2.
3.
4.
5.
$

End of Line Anchor

Match the preceding expression only when it occurs at the end of a line.



Это вот эта штука?
...
Рейтинг: 0 / 0
11.04.2017, 10:08
    #39436325
чью костЬ?
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
-=Koba=-кость собаки бросили...Держит в спортивной форме. Прыгай выше, лай громче.
...
Рейтинг: 0 / 0
11.04.2017, 11:20
    #39436375
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
-=Koba=-Хотите подсказать, дайте более развернутый ответ^ и $
...
Рейтинг: 0 / 0
11.04.2017, 13:30
    #39436484
saxarock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
-=Koba=-,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
with sub as (SELECT '4260958M099PB6' PASSPORT_NUMBER FROM dual
union 
SELECT '4281084B011PB01' PASSPORT_NUMBER FROM dual
  ) 
SELECT s.*
  FROM sub s
 WHERE REGEXP_LIKE (s.PASSPORT_NUMBER, '^\d{7}\w{1}\d{3}\w{2}\d{1}$');
...
Рейтинг: 0 / 0
11.04.2017, 13:48
    #39436502
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярные выражения
-=Koba=-,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
with sub as (
select '4260958M099PB6'         pass from dual union all
select '4260958m099pb6'         pass from dual union all
select '4260958m099pbf'         pass from dual union all
select '2260958m099pb7'         pass from dual union all
select '2a60958m099pb7'         pass from dual union all
select '4281084B011PB01'        pass from dual union all
select 'Буквы у тебя латинские' pass from dual union all
select 'v0850493m03vi'          pass from dual union all
select 'V0850493M03VI3'         pass from dual union all
select 'Коба - кличка Сталина'  pass from dual
  )
select s.*
from sub s
where length(pass) = 14
and translate(      substr(pass, 1, 7) || substr(pass, 9,  3) || substr(pass, 14, 1), 'x1234567890', 'x') is null
and translate(upper(substr(pass, 8, 1) || substr(pass, 12, 2)),  '1QWERTYUIOPASDFGHJKLZXCVBNM'     , '1') is null;

PASS
----------------------
4260958M099PB6
4260958m099pb6
2260958m099pb7
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Регулярные выражения / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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