Вам не нужен regex, чтобы найти, содержит ли строка по крайней мере один из данного списка подстрок. В Python:
def contain(string_, substrings):
return any(s in string_ for s in substrings)
Вышеупомянутое является медленным для большого string_
и много подстрок. GNU fgrep может эффективно искать несколько шаблонов одновременно.
import re
def contain(string_, substrings):
regex = '|'.join("(?:%s)" % re.escape(s) for s in substrings)
return re.search(regex, string_) is not None
Вот задача сна MSBuild , которая должна помочь. Вызовите его из цели BeforeBuild в вашем файле .csproj или там, где это необходимо для ваших нужд.
Задачи сообщества MSBuild также имеют задачу сна, поэтому используйте ее, если вам нужно других своих задач, которые я считаю очень полезными.
Obviously the Sleep task is the way to go. But if you are interested in ways of making the C# compiler take arbitrarily long, FYI it is possible to encode problems in the source code which force the overload resolution algorithm to execute an O(n^m) algorithm. Choose n and m large enough and you can make the compiler do as much work as you like.
Here's my article on that subject if you're interested.
Однажды у меня был коллега, который написал оператор переключения на 16 000 строк. На компиляцию ушла целая вечность, а затем, когда он расширил ее еще немного, компилятор сломался. Почему-то я не уверен, что вы имели в виду именно это.