осудил эту практику
аюсь придумать пример, в котором работает позитивный обзор, но группы без захвата не будут работать, чтобы лучше понять их использование. Примеры, которые я придумываю, также работают с группами без захвата, поэтому я чувствую, что не совсем уловил использование положительного взгляда вокруг.
Вот строка (взятая из примера SO), которая использует положительный взгляд в ответе. Пользователь хотел получить значение второго столбца, только если значение первого столбца начиналось с ABC, а последний столбец имел значение «активный».
string ='''ABC1 1.1.1.1 20151118 active
ABC2 2.2.2.2 20151118 inactive
xxx x.x.x.x xxxxxxxx active'''
В данном решении использовался «позитивный взгляд в будущее», но я заметил, что могу использовать группы, не являющиеся будущими, чтобы получить тот же ответ. Так что у меня возникли проблемы с примером того, как работает позитивный обзор, не захватившая группа не работает.
pattern =re.compile('ABC\w\s+(\S+)\s+(?=\S+\s+active)') #solution
pattern =re.compile('ABC\w\s+(\S+)\s+(?:\S+\s+active)') #solution w/out lookaround
Если кто-то будет достаточно любезен, чтобы привести пример, я был бы благодарен.
Благодарю.