For the past few hours I\'ve been trying to match address(es) from the following sample data and I can\'t get it to work:
medicalHistory None
address
The problem with your regex is that +
is greedy and goes until it finds a character out of that group, the @
in the first case and -
in the second.
Another approach is to use a non-greedy quantifier and a positive look-ahead for a newline followed by a word-character, like (python version):
re.findall(r'address\s+.*?(?=\n\w)', s, re.DOTALL)
It yields:
['address 24 Lewin Street, KUBURA, \n NSW, Australia',
'address 16 Yarra Street, \n LAWRENCE, VIC, Australia']