Позволете ми да цитирам документацията първо:
От документацията можем да видим причината за вашия проблем и той не е причинен от каквото и да е бягство. Проблемът е, че се опитвате да съвпаднете с границата на думата [[:<:]]
точно в началото на низа, което няма да работи, защото границата на думата, както можете да видите от документацията, разделя символ на дума от символ, който не е дума, но във вашия случай първият знак е "
който не е символ на дума, така че няма граница на думата, същото важи и за последния "
и [[:>:]]
.
За да работи това, трябва да промените малко израза си на този:
"[[:<:]]word[[:>:]]"
^^^^^^^ ^^^^^^^
Забележете как границата на думата разделя символ, който не е дума "
от символ на дума w
в началото и "
от d
в края на низа.
РЕДАКТИРАНЕ: Ако винаги искате да използвате граница на думата в началото и края на низа, без да знаете дали ще има действителна граница, тогава можете да използвате следния израз:
([[:<:]]|^)"word"([[:>:]]|$)
Това ще съвпада или с граница на думата в началото или с началото на низа ^
и същото за края на границата на думата или края на низа. Наистина ви съветвам да проучите данните, които се опитвате да съпоставите и да потърсите общи модели и да не използвате регулярни изрази, ако те не са подходящият инструмент за работата.