|
2 / 2 / 0
Регистрация: 29.02.2016
Сообщений: 212
|
|
Шаблон в regex для имени10.06.2023, 17:28. Показов 613. Ответов 13
Метки нет (Все метки)
Всем привет!
Помогите разобраться, пожалуйста. Я пытаюсь составить regex для шаблона и не могу допетрить как сделать. Суть - вводимая строка должна начинаться с буквы и заканчиваться на букву, между буквами может быть символ "`" или "-" и строка должна быть не меньше 2ух символов. Можно: а-b, a`b, aa-b, aa`b и пр Нельзя: -ab, ab-, `ab, ab`, a-, a` и пр. Пока я допетрил до самого простого: ^[a-zA-Z]{2,}, но не могу понять как сюда вписать свои условия. Буду рад любой помощи. Добавлено через 14 минут Ну и ` и - не могут стоять вместе.
0
|
|
| 10.06.2023, 17:28 | |
|
Ответы с готовыми решениями:
13
Regex-шаблон для поля имя-фамилия RegEx: подойдет ли приведенный шаблон для всех положительных целых и десятичных чисел |
|
Любознательный
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
|
||||||||||||
| 10.06.2023, 17:39 | ||||||||||||
Сообщение было отмечено Breathe of fate как решение
Решение
2
|
||||||||||||
|
2 / 2 / 0
Регистрация: 29.02.2016
Сообщений: 212
|
|
| 10.06.2023, 18:04 [ТС] | |
|
оно. спасибо.
сможете подсказать, почему в данном случае "+" заменяет собой количество совпадений {}? Не очень понял. Добавлено через 12 минут И как можно сюда внести пробел, чтобы "ab-ab ab" было действительным?
0
|
|
|
Любознательный
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
|
|||
| 10.06.2023, 20:06 | |||
+, это один или более символов, эквивалент {1,}
0
|
|||
|
2 / 2 / 0
Регистрация: 29.02.2016
Сообщений: 212
|
|
| 10.06.2023, 21:38 [ТС] | |
|
YuS_2,
неважно сколько, главное, чтобы дефис и апостроф не были в начале или в конце строки. Например, "ab-ab ab" допускается, при это может быть "ab", "a-b", "a b". То есть условия все как в первом сообщении, только ещё пробел добавляется Для того, чтобы сложные имена, типа "Жанна Д`арк де Ля Фуэрте" проходили, а формат "Жанна Д.Арк Де Ля Фуерте" - нет.
0
|
|
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
|
| 11.06.2023, 08:43 | |
Сообщение было отмечено Breathe of fate как решение
Решение'(?i)^[a-z][-` a-z]*[a-z]$'
2
|
|
|
2 / 2 / 0
Регистрация: 29.02.2016
Сообщений: 212
|
|
| 11.06.2023, 13:22 [ТС] | |
|
iSmokeJC,
работает Спасибо. Могу я Вас попросить объяснить смысл "(?i)" этого? К сожалению, про группировку () я не нашёл ничего конкретного в своём курсе.
0
|
|
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
|
| 11.06.2023, 13:28 | |
|
Это не группировка. Это сокращенное указание флага re.IGNORECASE
Т.е. игнорировать регистр
0
|
|
|
2 / 2 / 0
Регистрация: 29.02.2016
Сообщений: 212
|
|
| 11.06.2023, 14:14 [ТС] | |
|
iSmokeJC, а "?i" - ноль или сколько угодно?
0
|
|
|
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
|
||
| 11.06.2023, 14:24 | ||
|
Епт.
0
|
||
|
Любознательный
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
|
|||||
| 11.06.2023, 14:43 | |||||
|
Что-то типа: '(?i)^[a-zа-яё](?:[- a-zа-яё]*|[` a-zа-яё]*)[a-zа-яё]$'Добавлено через 10 минут
2
|
|||||
|
2 / 2 / 0
Регистрация: 29.02.2016
Сообщений: 212
|
|
| 25.06.2023, 01:43 [ТС] | |
|
YuS_2,
приветствую ![]() а как в этом паттерне можно указать, что "nam-'e" - это неправильный? То есть если есть - и ' в одном слове, то между ними должна быть как минимум одна буква, чтобы быть правильным.
0
|
|
|
Любознательный
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
|
||
| 25.06.2023, 10:37 | ||
Сообщение было отмечено Breathe of fate как решение
РешениеДавайте так, соберем в кучу, все условия: 1. Условия из сообщения #1 2. Условия из сообщения #3 3. Условия из сообщения #5 4. Условия из сообщения #12 Получим, что-то типа: (?i)^[a-zа-яё][a-zа-яё ]*(?:(`|-)(?![`-])[a-zа-яё ]*)*[a-zа-яё]$А вообще, можете потренироваться в составлении регулярок здесь.
1
|
||
|
2 / 2 / 0
Регистрация: 29.02.2016
Сообщений: 212
|
|
| 25.06.2023, 21:05 [ТС] | |
|
YuS_2,
тогда тут имя "O'Connor" не проходит... Добавлено через 24 минуты А, понял. Кажется, всё окей) Спасибо.
0
|
|
| 25.06.2023, 21:05 | |
|
Помогаю со студенческими работами здесь
14
Переход на шаблон при регистрации, и добавление имени пользователя после имени домена Не работает шаблон Regex Regex - Поиск имени в строке <regex> проверка ввода имени Regex без захвата имени файла Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|