fork download
  1. import re
  2.  
  3. pattern = r"(?<!\S)(?:(?!\b(?:at|on|in|adjoining)\b)[^\n\d])*? street\b"
  4.  
  5. s = ("flat 14, 24-34 barrington street, London\n"
  6. "23 the honourable lord barrington's street, London\n"
  7. "23 the honourable lord barrington's street, 42 the dishonarable baron lordington's street, London\n"
  8. "land to the south of barrington street, London\n"
  9. "plot 12 on barrington street, London")
  10.  
  11. print(re.findall(pattern, s))
Success #stdin #stdout 0.03s 9448KB
stdin
Standard input is empty
stdout
['barrington street', "the honourable lord barrington's street", "the honourable lord barrington's street", "the dishonarable baron lordington's street", 'land to the south of barrington street', 'barrington street']