У меня был этот вопрос пару раз прежде, и я все еще не мог найти хороший ответ ..
В моей текущей задаче у меня есть вывод консольной программы (строка), который выглядит так:
Number of assemblies processed = 1200
Number of assemblies uninstalled = 1197
Number of failures = 3
Теперь я хочу извлечь эти числа и проверить, были ли сбои. (Это вывод gacutil.exe, кстати.) Другими словами, я хочу сопоставить любое число [0-9] + в строке, которой предшествует failures =.
Как бы я это сделал? Я хочу получить номер только . Конечно, я могу сопоставить все это, например / failures = [0-9] + / .., а затем обрезать первые символы длиной («failures =») или что-то в этом роде. Дело в том, что я не хочу этого делать, это неудачный обходной путь.
Потому что это странно; если мой шаблон для сопоставления, но не для вывода («failures =») приходит после что я хочу извлечь ([0-9] +), есть способ сделать это:
шаблон (? = Выражение)
Чтобы показать абсурдность этого, если весь файл был обработан задом наперед, я мог бы использовать:
[0-9] + (? = = Seruliaf)
... так, нет ли пути вперед? : Т