From my previous questions Why under locale-pragma word characters do not match? and How to change nested quotes I learnt that when dealing with UTF-8 data you can\'t trust
The positive lookarounds fail at the start or end of the string because they require a non-word character to be present. The negative lookarounds work in both cases.