Мне нужно найти способ получить совпадение с определенным именем файла без расширения.
Test App 0.2.1.exe
dsdsad
Test App 0.2.1.dmg
Test App 0.2.1
В настоящее время я пробовал ^\S+\.(?:dmg)$
, но это не соответствует.
Итак, в основном я хочу получить результат:
Test App 0.2.1
(не с расширением). Просто чтобы получить имя, чтобы я мог использовать это имя для сохранения в переменной в действиях GitHub. В настоящее время я использую https://github.com/marketplace/actions/actions-ecosystem-action-regex-match.
Ссылка на regex101: https://regex101.com/r/hY7Xfp/1
Или просто (.*)\.dmg$
или даже (.*)\.dmg
Или вообще (.*)\.[^.]*$
Пытаться :
.+(?=\.[a-z0-9]+)
Приведенное выше выражение соответствует для вас именам файлов независимо от их расширений (не соответствует самому расширению).
и если вы хотите сопоставлять имена файлов только с расширением .dmg (не соответствует самому .dmg), вы можете попробовать это:
.+(?=(\.dmg))
Примечание. Если вы хотите сопоставить имена файлов с другими расширениями, просто измените часть .dmg в приведенном выше выражении.
например :
.+(?=(\.exe)) #Matches file names with .exe extension
.+(?=(\.jpg)) #Matches file names with .jpg extension
.+(?=(\.mp3)) #Matches file names with .mp3 extension
and so on ...
У меня есть точка для вас в этой ссылке.
RegExr.com | проверить это .
Надеюсь, это поможет :)
{1,}
— это просто многословное повторение +
Вы правы 👍 я отредактировала.
Как это?
^(\S.*)\.dmg$
с группой захвата? regex101.com/r/TYR21D/1