Найти n символов перед расширением файла - PullRequest
0 голосов
/ 05 января 2019

Нужна помощь с регулярным выражением

Я хочу сохранить последние n символов (например, 4 символа) в имени файла, не включая расширение файла

Например, если у меня есть имя файла

"thisisapicture.jpg"

На данный момент я использую что-то вроде

\w+(?=\.\w+$)    

чтобы захватить все до расширения файла. Что делать, если я хочу захватить только последние 4 символа, например ture до расширения файла?

спасибо

Ответы [ 2 ]

0 голосов
/ 05 января 2019

Поскольку перед точкой нужно всего четыре символа, вам нужно захватить ее в группу:

var s = "thisisapicture.jpg";
var pattern = @"(.{4})\.\w+$";
var match = Regex.Match(s, pattern);
Console.WriteLine(match.Groups[1].Value);
0 голосов
/ 05 января 2019

Вы должны использовать квантификатор \w{4} вместо \w+:

\w{4}(?=\.\w+$)

Regex demo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...