Я даже не уверен, возможно ли это или нет, но вот что я хотел бы.
String: "NS306 FEBRUARY 20078/9/201013B1-9-1Low31 AUGUST 19870"
У меня есть текстовое поле, в котором я набираю параметры поиска, и они разделены пробелом,Из-за этого я хочу вернуть совпадение, если строка1 находится в строке, а затем строка2 находится в строке, ИЛИ строка2 находится в строке, а затем строка1 находится в строке.Мне все равно, в каком порядке находятся строки, но они ВСЕ (будет что-то больше 2) должны быть в строке.
Так, например, в предоставленной строке я хотел бы:
"FEB Low"
или
"Low FEB"
... для возврата в качестве совпадения.
Я ДЕЙСТВИТЕЛЬНО новичок в регулярных выражениях, здесь можно прочитать только некоторые учебники по здесь но это было некоторое время назад, и мне нужно сделать это сегодня.В понедельник я начинаю новый проект, который намного важнее и не может быть отвлечен этим вопросом.Есть ли способ сделать это с помощью регулярных выражений, или мне нужно перебирать каждую часть поискового фильтра и переставлять порядок?Любая помощь очень ценится.Спасибо.
ОБНОВЛЕНИЕ: причина, по которой я не хочу перебирать цикл и ищу наилучшую производительность, заключается в том, что, к сожалению, используемый мной dataTable вызывает эту функцию при каждом нажатии клавиши, и яне хочу, чтобы это застопорилось.
ОБНОВЛЕНИЕ: Спасибо всем за вашу помощь, это было высоко оценено.
ОБНОВЛЕНИЕ КОДА:
В конечном счете, это то, что япошло с.
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 (проповедует их), и поэтому я подумал, что было бы лучше, если бы я пошел с этим сейчас.Если по какой-либо причине производительность сайта снизится (интранет-сайт), я попробую другой путь.Спасибо всем.