Regex якоря внутри класса персонажа

Можно ли использовать якоря внутри класса символов? Это не работает:

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

Это выглядит как^ а также$ обрабатываются как литералы внутри класса символов; однако, избегая их (\^, \$) тоже не работает.

Я пытаюсь использовать это выражение для создания границ слов (\b недоступно в XSLT / XQuery), но я бы предпочел не использовать группы ((^|\s)) - поскольку группы без захвата недоступны, это означает, что в некоторых сценариях я могу получить большое количество ненужных групп захвата, и это создает новую задачу поиска «реальных» групп захвата в наборе ненужных из них.