Границы слов в регулярках JavaScript

С помощью команды '\b' можно обратиться границе слова, а с помощью команды '\B' - не к границе. Давайте посмотрим работу этих команд на примерах.

Пример

Давайте обернем каждое слово в символ '!':

javascriptlet str = 'aaa aaa aaa';
let res = str.replace(/\b/g, '!');

В результате в переменную запишется следующее:

javascript'!aaa! !aaa! !aaa!'

Пример

Давайте добавим символ '!' в промежутки между буквами:

javascriptlet str = 'aaa aaa aaa';
let res = str.replace(/\B/g, '!');

В результате в переменную запишется следующее:

javascript'a!a!a a!a!a a!a!a'
Задание 1

Дана строка:

javascriptlet str = 'abc def xyz';

Напишите регулярку, которая сделает из этой строки следующую:

javascript'#abc# #def# #xyz#';
Задание 2

Дана строка:

javascriptlet str = 'abc def xyz';

Напишите регулярку, которая сделает из этой строки следующую:

javascript'a+b+c d+e+f x+y+z';