El problema es que olvidé considerar el caso en el que lo buscado esté al principio o al final de la línea. (además de haber olvidado \W
)
La expresión falla porque busca específicamente por un caracter que no sea una letra, un número o un guión.
Ya que existe \W y me había olvidado, me puse a buscar otros modificadores para hacer lo mismo, y encontré que el que buscás es \b
debería funcionar perfectamente.
saludos.