Я ищу регулярное выражение, чтобы соответствовать этим правилам:Regex для включения одной строки и исключения второй строки?
- Содержит
The contoller for path
- Содержит апостроф (
'
), за которым следует любое количество символов - Символы должны не торцевыми в
.cs
- Там должен быть второй апостроф
- Содержит
was not found or does not implement IController
Пример ввода:
Сообщение исключения: Контроллер для пути '/MyApplication/Scripts/jquery-1.10.2.min.js' не найден или не реализует IController.
Сообщение об исключении: Контроллер для пути '/MyApplication/Content/bootstrap.min.css' не был найден или не реализует IController.
Я не работал на нашем основном приложении регистрации ошибок библиотеки/интеграции в нашем приложении, но я получаю десятки этих файлов журналов, рассказывающие мне, что мой CSS и Javascript не реализуют IController. Не могу понять, почему поэтому я написал что-то, чтобы просто удалить их в среднее время. Это немного более «жесткой», чем хотелось бы, хотя:
string[] regexExpressions = {
"(The controller for path)(\\s)'([^']*?)[.]js'(?:$|\\s)(was not found or does not implement IController.)",
"(The controller for path)(\\s)'([^']*?)[.]css'(?:$|\\s)(was not found or does not implement IController.)"
};
List<Regex> regexList = new List<Regex>();
foreach (string expression in regexExpressions)
regexList.Add(new Regex(expression);
//Loop over each file in a directory
//Nested loop to iterate over my List<Regex>
// to compare every file against every regex
// building a list any time I find a match
//Delete files which match any one of my regex
(Это немного более сложным, чем это, но это важный материал)
Я просто возвращаюсь и добавляя дополнительные регулярные выражения к string[] regexExpressions
, поскольку я замечаю все больше и больше типов несущественных журналов ошибок. Тем не менее, я не хочу изменять этот инструмент каждый раз, когда я нахожу новый тип файла, который вызывает ошибку, о которой я не забочусь. Вначале я написал его только для * .js, а затем заметил, что * .css тоже их выбрасывал, и теперь сегодня я нашел несколько файлов * .map с таким же сообщением об ошибке ....
Так как я могу его изменить искать одиночную цитату, проделанную чем угодно, кроме .cs
?
Я думаю, что, возможно, мне удастся пропустить первые два требования в моем списке выше, важная часть на самом деле просто <not a .cs file>' was not found found or does not implement IController
. Я просто включил все другие вещи до этого, так как мне нравится быть максимально явным и избегать риска случайного удаления чего-то, что я, возможно, не хотел бы удалить.
Приведите пример ввода строки. – jdweng
@jdweng Обновлен мой вопрос, чтобы включить 2 образца текстов – sab669