Java RegEx Match; подчеркивание перед первой десятичной запятой - PullRequest
0 голосов
/ 22 марта 2020

Я пытаюсь найти регулярное выражение Java, которое будет соответствовать "_" перед экземпляром первой десятичной точки "." Ниже, кажется, не работает для меня:

_(?=[0-9][0-9]\.)

У кого-нибудь есть идеи о том, как я могу сделать это? Примером может быть:

FileName:

Hello_World_5_01.00.0000

Я бы хотел сопоставить «_» между символами «5_01.» .... Имейте в виду, что приведенный выше пример имя файла и будет меняться, но одной константой будет «_» перед экземпляром первого «.» (десятичная точка) независимо от имени файла. Любая помощь приветствуется.

1 Ответ

0 голосов
/ 22 марта 2020

Вы можете сопоставить до первого вхождения подчеркивания и зафиксировать его в группе.

Затем сопоставьте следующие 1+ цифры, точку и, если после вас должна быть ди git, вы можете сопоставьте это также.

^.*?(_)\d+\.\d

Regex demo

const regex = /^.*?(_)\d+\.\d/;
const str = `Hello_World_5_01.00.0000`;
console.log(str.match(regex)[1]);
...