Я ищу Python Regex для соответствия всем вариациям ключевого слова, кроме тех, которым предшествует слово с заглавной буквы ->, кроме случаев, когда это слово с заглавной буквы является началом предложения. Также исключает слова в скобках.
например:
keyword = 'public record'
string1 = 'Hello. His public records are available at city hall.' #match public records His is the start of a sentence so we ignore that it is capitalized and match
string2 = 'his records are at Newsom Public Record DataBase' #nomatch
string3 = 'Public records may be available online' #match Public records
string4 = '[public records](http:/....)' #nomatch
Пока что я пробовал:
pattern = f'(?<!\[)(?i)\\w*{keyword}\\w*' #Doesn't take into account preceding capitalized words
pattern = f'(?<![A-Z][\w-]\s)(?<!\[)(?i)\\w*{keyword}\\w*' #Doesn't work for cap words > 2 chara