Предполагая, что цель состоит в том, чтобы соответствовать заданному слову (например, "india"
) в строке, при условии, что за словом не предшествует и не следует символ, которого нет в строке " .,?!;"
, вы можете использовать следующее регулярное выражение: * Движок регулярных выражений 1003 *
(?<![^ .,?!;])india(?![^ .,?!;\r\n])
Demo
Python выполняет следующие операции
(?<! # begin a negative lookbehind
[^ .,?!;] # match 1 char other than those in " .,?!;"
) # end the negative lookbehind
india # match string
(?! # begin a negative lookahead
[^ .,?!;\r\n] # match 1 char other than those in " .,?!;\r\n"
) # end the negative lookahead
Обратите внимание, что класс символов в отрицательном прогнозе содержит \r
и \n
в случае, если india
находится в конце строки.