Âncoras Regex dentro da classe de personagem

É possível usar âncoras dentro de uma classe de caracteres? Isso não funciona:

analyze-string('abcd', '[\s^]abcd[\s$]') 

Parece que^ e$ são tratados como literais quando dentro de uma classe de caracteres; no entanto, escapando deles (\^, \$) também não funciona.

Estou tentando usar essa expressão para criar limites de palavras (\b não está disponível em XSLT / XQuery), mas eu preferiria não usar grupos ((^|\s)) - como os grupos que não capturam não estão disponíveis, isso significa que, em alguns cenários, posso acabar com uma grande quantidade de grupos de captura desnecessários, e isso cria uma nova tarefa de localizar os grupos de captura "reais" no conjunto de desnecessários uns.