Я пытаюсь принять группу захвата только в том случае, если шаблон совпадает, и до конца группы не существует определенного слова. Я попробовал # подходов и никто не похоже на работу, очевидно, я не получаю понятие:Фиксация отрицательного утверждения для конца строки
https://regex101.com/r/iP2xY0/3 https://regex101.com/r/iP2xY0/4
Независимо от того, что я делаю захват группа захватывает что-то и моя цель, если слово отклонения существует в середине шаблона, чтобы вернуть совпадение.
RC:\*.*?(?P<Capture>(Bob|David|Ted|Alice))(?!Reject).*
- RC: * Привет Боб Смит < \ человек>
- RC: * Привет David Jones * Примечания Бла бла < \ человек>
- RC: * Привет Тед Уоррен * Отклонено < \ человека >
Захват Namegrouop должен вернуться:
- Боб
- Дэвид
- «»
Таким образом, «Отклонить» говорит, что если NameGroup Capture найден следует что-либо заканчивающегося в <
захвата его, если между NameGroup и < слово Reject
появляется сделать не.
https://regex101.com/r/iP2xY0/5, который соответствует только отклонению –
@be_good_do_good Спасибо. Однако я ищу совпадение 'Bob' в String1,' David' в String2 и ничего в String3. – user3649739