Получить самое левое совпадение вместо самого правогоC#

Место общения программистов C#
Anonymous
Получить самое левое совпадение вместо самого правого

Сообщение Anonymous »

У меня есть эта режим: < /p>

Код: Выделить всё

^\\.+, .+\\([0-9]+) - .[^\\]+(.*)
Мне нужно сопоставить число в нескольких путях, однако он возвращает самое правое совпадение, когда мне нужно, чтобы оно вернуло самое левое совпадение.
Примеры
  • Код: Выделить всё

    \\Folder 1\Folder 2\surname, forename\1234 - some really long name
    [*]\\Folder 1\Folder 2\surname, forename\1234 - some really long name\some folder\5678 - some other name
В обоих примерах мне нужно, чтобы оно соответствовало 1234, а не 5678. Перед числом может быть одна или несколько папок, и число может состоять из любого количества цифр. Однако оно всегда будет первой частью имени папки, и после номера всегда будет стоять знак «-».
Как изменить регулярное выражение, чтобы оно возвращало первое совпадение, а не последнее? Я использую код C#.

Подробнее здесь: https://stackoverflow.com/questions/797 ... right-most

Вернуться в «C#»