Подскажите, как в Regex передать массив
Я попытался, но компилятор выдает ошибку
Regex regex = new Regex(keywords);
Как уже было сказано - создать объект класса Regex
из массива Вам не удастся (не поддерживает его конструктор такую сигнатуру, это и очевидно!).
Если Ваша задача звучит так:
хочу, чтобы Regex находил все "слова" в тексте, которые есть в массиве
то Вам действительно необходимо сначала Ваш массив слов преобразовать в строку регулярного выражения:
static string GenRegexStr(string[] words){
var strBuilder = new StringBuilder();
foreach (string word in words)
{
strBuilder.AppendFormat("({0})|", word);
}
strBuilder.Length--; //убираем последний "|"
return strBuilder.ToString();
}
Дальше уже дело за малым:
var elements = new string[] { "text", "lorem" };
var regexStr = Program.GenRegexStr(elements);
var regexp = new Regex(regexStr);
var matches = regexp.Matches("lorem ipsum test text bla bla bla");
foreach(Match match in matches) {
Console.WriteLine(match.Value);
}
Результат:
lorem
text
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Я хочу преобразовать этот SQL в LINQ, но сталкиваются с трудностями, может кто-нибудь мне помочь?
Подскажите, если я найду все необходимые мне свойства и сохраню PropertyInfo в какой-нибудь словарь, то при последующей работе через эту переменную...
Подскажите как установить хук SetWindowsHookEx на определённое окно, к примеру на окно Notepad, и проверять только егоК примеру если я запустил блокнот...