Regex z negatywnym spojrzeniem na wiele linii
Przez ostatnie kilka godzin próbowałem dopasować adres (y) z następujących danych przykładowych i nie mogę go uruchomić:
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
Mój plan polegał na znalezieniu wszystkiego, co zaczyna się od „adresu”, po którym następuje dowolna spacja, po której następują znaki, cyfry, przecinki i znaki nowej linii, a kończy się znakiem nowej linii, po którym następuje znak. Wymyśliłem następujące (i wiele jego odmian):
address\s+([0-9a-zA-Z, \n\t]+)(?!\n\w)
Niestety pasuje to do:
address 24 Lewin Street, KUBURA,
NSW, Australia
email MaryBeor
i
address 16 Yarra Street,
LAWRENCE, VIC, Australia
name Mary Beor
medicalHistory None
phone 00000000000000000000353336907
birthday 26
zamiast
address 24 Lewin Street, KUBURA,
NSW, Australia
i
address 16 Yarra Street,
LAWRENCE, VIC, Australia
Czy możesz mi powiedzieć, co robię źle?