У меня есть строка:
Symphony Veterinary Center
symphony care veterinary
170 cort 96th St.,
naib, NZ 10025
212-866-8000
We care yours like ours !!
Я пытаюсь это регулярное выражение :
((?i)^(?=.*?(?:veterinary|animal[^s]|hospital| care |pets?|clinic)) *(?:[^ \n\r:]+? +?){1,5}$)(?:(?![\s\S]*?(?:(?i)veterinary|animal|hospital|care |pets?|clinic))[\s\S]*?)(\d{2,}[\s\S]+?(?: [A-Z][A-Za-z] (?:\d+-)?\d+))
Согласно регулярному выражению, первая группа должна захватить больницуимя и вторая группа будет захватывать только адрес.
В этом регулярном выражении у меня есть отрицательный прогноз (?![\s\S]*?(?:(?i)veterinary|animal|hospital|care |pets?|clinic))
между первой группой и второй группой, чтобы убедиться, что между первой и второй группой нет таких ключевых слов, как животное, животное, больница.
Но это совпадает только тогда, когда я удаляю care
в последней строке строки.Я не знаю, почему отрицательный взгляд проверяет до конца строки, а не до второй группы?