Необходимо соответствовать первой части предложения, вплоть до заданного слова. Тем не менее, это слово является необязательным, и в этом случае я хочу соответствовать всему предложению. Например:
У меня есть предложение с предложением, которое я не хочу.
У меня есть предложение, и оно мне нравится.
В первом случае я хочу "I have a sentence"
. Во втором случае я хочу "I have a sentence and I like it."
Lookarounds даст мне первый случай, но как только я попытаюсь сделать его необязательным, чтобы охватить второй случай, я получу все первое предложение. Я пытался сделать выражение ленивым ... без кубиков.
Код, который работает для первого случая:
var regEx = new Regex(@".*(?=with)");
string matchstr = @"I have a sentence with a clause I don't want";
if (regEx.IsMatch(matchstr)) {
Console.WriteLine(regEx.Match(matchstr).Captures[0].Value);
Console.WriteLine("Matched!");
}
else {
Console.WriteLine("Not Matched : (");
}
Выражение, которое я хотел бы сработать:
var regEx = new Regex(@".*(?=with)?");
Есть предложения?
Заранее спасибо!
Джеймс