Я даже не уверен, что это возможно или нет, но вот что мне хотелось бы.
String: "NS306 FEBRUARY 20078/9/201013B1-9-1Low31 AUGUST 19870"
У меня есть текстовое поле, в которое я ввожу параметры поиска, и они ограничены пробелом. Из-за этого, я хочу вернуть совпадение, строка string1 находится в строке, а строка string2 находится в строке, OR string2 - в строке, а string1 - в строке. Меня не волнует, в каком порядке находятся строки, но они ВСЕ (мне что-то больше 2) должны быть в строке.
Так, например, в предоставленной строке я бы хотел:
"FEB Low"
или
"Low FEB"
... для возврата в качестве соответствия.
Я ДЕЙСТВИТЕЛЬНО новичок в регулярном выражении, только прочитал несколько руководств по здесь, но это было давно, и мне нужно сделать это сегодня, В понедельник я начинаю новый проект, который гораздо важнее и не может быть отвлечен этой проблемой. Нужно ли вообще делать это с помощью регулярных выражений, или мне нужно перебирать каждую часть фильтра поиска и переставлять заказ? Любая помощь чрезвычайно ценится. Спасибо.
UPDATE: Причина, по которой я не хочу перебирать петлю, и я ищу наилучшую производительность, потому что, к сожалению, dataTable, который я использую, вызывает эту функцию при каждом нажатии клавиши, и я не хочу, чтобы она увязывалась.
UPDATE: Спасибо всем за вашу помощь, это было высоко оценено.
ОБНОВЛЕНИЕ КОДА:
В конечном счете, это то, с чем я пошел.
string sSearch = nvc["sSearch"].ToString().Replace(" ", ")(?=.*");
if (sSearch != null && sSearch != "")
{
Regex r = new Regex("^(?=.*" + sSearch + ").*$", RegexOptions.IgnoreCase);
_AdminList = _AdminList.Where<IPB>(
delegate(IPB ipb)
{
//Concatenated all elements of IPB into a string
bool returnValue = r.IsMatch(strTest); //strTest is the concatenated string
return returnValue;
}).ToList<IPB>();
}
}
В классе IPB есть X количество элементов и ни одна таблица на всем сайте, над которым я работаю, это столбцы в том же порядке. Поэтому мне нужен был поиск любого заказа, и я не хотел писать много кода для этого. Здесь были и другие хорошие идеи, но я знаю, что мой босс действительно любит Regex (проповедует их), и поэтому я подумал, что было бы лучше, если бы я пошел с этим пока. Если по какой-либо причине производительность сайта скапливается (сайт интрасети), я попробую другой способ. Спасибо всем.