За последние несколько часов я пытался соответствовать адреса (ов) из следующих образцов данных, и я не могу заставить его работать:Regex с отрицательным предпросмотром через несколько строк
medicalHistory None
address 24 Lewin Street, KUBURA,
NSW, Australia
email [email protected]
address 16 Yarra Street,
LAWRENCE, VIC, Australia
name Mary Beor
medicalHistory None
phone 00000000000000000000353336907
birthday 26-11-1972
Моего плана было найти что-либо, начинающееся с «адреса», за которым следует любое пробел, за которым следуют символы, запятые и символы новой строки и заканчивается символом новой строки, за которым следует символ. Я придумал следующее (и множество вариаций этого):
address\s+([0-9a-zA-Z, \n\t]+)(?!\n\w)
К сожалению, совпадающим следующее:
address 24 Lewin Street, KUBURA,
NSW, Australia
email MaryBeor
и
address 16 Yarra Street,
LAWRENCE, VIC, Australia
name Mary Beor
medicalHistory None
phone 00000000000000000000353336907
birthday 26
вместо
address 24 Lewin Street, KUBURA,
NSW, Australia
и
address 16 Yarra Street,
LAWRENCE, VIC, Australia
Не могли бы вы рассказать мне, что я делаю неправильно?
Отлично! Из любопытства, что случилось с моим взглядом? – n1te
@ n1te Возможно, жадный квантификатор '+', который потребляет все до '@' и все еще удовлетворяет негативному ожиданию. –
@RohitJain спасибо за объяснение – n1te