Получить имя файла без расширения с помощью регулярного выражения

Мне нужно найти способ получить совпадение с определенным именем файла без расширения.

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

Как это? ^(\S.*)\.dmg$ с группой захвата? regex101.com/r/TYR21D/1

The fourth bird 18.11.2022 12:57

Или просто (.*)\.dmg$ или даже (.*)\.dmg

Wiktor Stribiżew 18.11.2022 12:59

Или вообще (.*)\.[^.]*$

tripleee 18.11.2022 13:00
Шаблоны Angular PrimeNg
Шаблоны Angular PrimeNg
Как привнести проверку типов в наши шаблоны Angular, использующие компоненты библиотеки PrimeNg, и настроить их отображение с помощью встроенной...
Создайте ползком, похожим на звездные войны, с помощью CSS и Javascript
Создайте ползком, похожим на звездные войны, с помощью CSS и Javascript
Если вы веб-разработчик (или хотите им стать), то вы наверняка гик и вам нравятся "Звездные войны". А как бы вы хотели, чтобы фоном для вашего...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Начала с розового дизайна
Начала с розового дизайна
Pink Design - это система дизайна Appwrite с открытым исходным кодом для создания последовательных и многократно используемых пользовательских...
Шлюз в PHP
Шлюз в PHP
API-шлюз (AG) - это сервер, который действует как единая точка входа для набора микросервисов.
14 Задание: Типы данных и структуры данных Python для DevOps
14 Задание: Типы данных и структуры данных Python для DevOps
проверить тип данных используемой переменной, мы можем просто написать: your_variable=100
1
3
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Пытаться :

.+(?=\.[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,} — это просто многословное повторение +
tripleee 19.11.2022 15:09

Вы правы 👍 я отредактировала.

Mahdi Baha 19.11.2022 15:17

Другие вопросы по теме

Похожие вопросы