Привет, сообщество StackOverflow!
Я пишу универсальное решение для именования соглашений с кодами курса и их объединения.Простой пример кода курса выглядит следующим образом: 00001
В настоящее время у меня есть набор кодов курса в строке.Примерно так:
00001_00002_00003_00005_00008_00009
Я все еще новичок в использовании регулярных выражений, но возможно ли создать выражение, которое проверяет, если
Каждый код между разделителем увеличивается наодин из его предыдущих кодов.Затем он берет первый и последний из этих кодов, удаляет средние коды и заменяет их на «-». Поэтому для того же набора кодов я получу:
00001-00003_00005_00008-00009
Даже если код вернется в следующем виде: 00001 _-_ 00003_00005_00008 _-_ 00009, я мог бы найти строку после факта, чтобы заменить '_-_' на '-'.
Всекоды уже в порядке приращения, поэтому придется просто перебирать слева направо.
Пока что у меня есть (я знаю, что это довольно скромно): https://regex101.com/r/Yb1gSq/2/
У кого-нибудь есть указатели?Или я должен искать другое решение, кроме регулярных выражений?