У меня есть многострочный текст, и я хочу найти строки, содержащие определенное слово.Получить целую строку, где Regex соответствует
В текущей реализации я получаю только слово, но вместо этого хочу получить всю строку. Вот код:
var finder = new Regex(@"(^|\W)" + Regex.Escape(wordToFind) + @"(\W|$)", RegexOptions.IgnoreCase);
foreach (var match in finder.Matches(multilineString))
{
//match should be the whole line
}
Пример:
If Request.QueryString("bar") <> "" Then
Set bar= foo("baz")
Else
Set bar= foo("baz2")
End If
Если я смотрю на foo
я должен получить:
Set bar= foo("baz")
Set bar= foo("baz2")
Я не выполнил регулярное выражение, и я не очень хорошо знаком с регулярными выражениями, я был бы признателен, если бы кто-нибудь мог дать мне несколько советов, чтобы продолжать расследование.
Благодаря
Добавить. * .... * \ N где-нибудь в вашем регулярном выражении. – mathk
Возможно, попробуйте '@" ^. *? " + Regex.Escape (wordToFind) + @ ". *? $" '? '^' соответствует началу строки или строки, '. *?' соответствует всем (но только по мере необходимости), '$' соответствует концу строки или строки. – Nolonar
@Nolonar, что является точкой вашего '?' – mathk