powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Не могу составить регулярное выражение
9 сообщений из 9, страница 1 из 1
Не могу составить регулярное выражение
    #40006338
pirab41
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не могу составить регулярное выражение для вырезки имени из ФИО.

У меня есть столбец Fio в таблице People. В нем указаны ФИО людей в формате "Иванов В. В." и т.д.
Мне необходимо вырезать из этого выражения имена, т.е. в столбец будут выводиться В. , С. и т.д.

Преподаватель указал, что можно их вычленить с помощью функции substring, в которой есть предикат SIMILAR.
Помогите пожалуйста с составлением регулярного выражения после SIMILAR. Среда ругается, не получается отойти от варианта, представленного ниже.

Код: plaintext
SELECT substring (Fio SIMILAR '_#"%#"_'  ESCAPE '#' )  FROM People;

Или мб каким другим вариантом
...
Рейтинг: 0 / 0
Не могу составить регулярное выражение
    #40006349
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pirab41Среда ругается

Подожди до пятницы.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Не могу составить регулярное выражение
    #40006362
Dimbuch®
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если формат ФИО всегда одинаковый, можно так:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
SELECT
  SUBSTRING(a.fullname FROM POSITION(' ', a.fullname) + 1 FOR 2)
FROM (
  SELECT 'Иванов В. В.' AS fullname FROM rdb$database
  UNION SELECT 'Петров А. А.' AS fullname FROM rdb$database
  UNION SELECT 'Сидоров C. М.' AS fullname FROM rdb$database
) a
...
Рейтинг: 0 / 0
Не могу составить регулярное выражение
    #40006374
Dimbuch®
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Или если для преподавателя, то вот оба варианта:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT
  SUBSTRING(TRIM(a.fullname) FROM POSITION(' ', a.fullname) + 1 FOR 2) AS substring_result, -- Два символа после первого пробела
  SUBSTRING(TRIM(a.fullname) SIMILAR '% \"%\" %' ESCAPE '\') AS similar_result -- Ищем между двумя пробелами
FROM (
  SELECT 'Иванов В. В.' AS fullname FROM rdb$database
  UNION SELECT 'Петров А. А.' AS fullname FROM rdb$database
  UNION SELECT 'Сидоров C. М.' AS fullname FROM rdb$database
) a
...
Рейтинг: 0 / 0
Не могу составить регулярное выражение
    #40006451
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не работает.
ПыСы. Хосе Мария Андрес Флорес Фернандес де ла Фронтера
...
Рейтинг: 0 / 0
Не могу составить регулярное выражение
    #40006465
Dimbuch®
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WildSery
Не работает.
ПыСы. Хосе Мария Андрес Флорес Фернандес де ла Фронтера


Для таких и не будет работать

Только для "Фамилия И. О."
В задаче такой шаблон был
...
Рейтинг: 0 / 0
Не могу составить регулярное выражение
    #40006468
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimbuch®,

"На любой вопрос мы дадим любой ответ!".
Предлагаю завести несколько столбцов, F, I, O, и проблемы вообще не будет.
А ещё лучше - First name, Second name и список дополнительных полей-имён для более сложных случаев.
...
Рейтинг: 0 / 0
Не могу составить регулярное выражение
    #40006470
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSery,

забей. Это учебное задание от преподавателя, а не проектирование серьёзной системы
...
Рейтинг: 0 / 0
Не могу составить регулярное выражение
    #40006506
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
забей. Это учебное задание
Как всегда, учебное задание на разгребание говнокода. Жизненно, чо. Если б еще учили не писать г-код... Это фантастика, сынок! (С).
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Не могу составить регулярное выражение
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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