Я пытаюсь найти способ удалить весь текст в строке перед совпадением в Regex. Я кодирую это на C#.Regex + Удалить весь текст перед матчем
Например, если строка «hello, test matching», а шаблон «test», я бы хотел, чтобы конечный результат был «сопоставлением тестов» (т.е. удаляем все перед тестированием).
Любые мысли? Благодаря!
EDIT: Я, вероятно, должен был быть более конкретным в моем примере после прочтения ваших ответов (и спасибо за них). Мне нравится метод lookahead, но я упростил свой пример. Для того, чтобы сделать вещи более трудным, как правило, строки выглядят как:
«Привет, тест соответствия тест everythingAfter»
Так что, если я использую шаблон «тест», он будет ловить первый. Какова моя цель - заменить весь текст после второго матча. Т.е.: результат в "test everythingAfter" .... Извините.
Я не достаточно знаком с C#, чтобы написать код. Однако не используйте RegEx, используйте базовые строковые методы. * поиск *, чтобы найти возникновение, чем использовать * подстроку * capture * все после *. –
Для шаблонов, которые вы пытаетесь удалить, всегда ли они строки или они иногда являются действительными регулярными выражениями? Если первое, используйте 'IndexOf' и' Substring' и избегайте штрафных санкций, которые вам не нужны. –
Возможный дубликат: [Удалить текст из строки до тех пор, пока не достигнет определенного символа] (http://stackoverflow.com/q/8371922/299327) –