Если бы все, что находится между []
, было бы желательным, то мы могли бы упростить наше выражение до:
(?:\[+)(.+?)(?:\]+)
Здесь мы собираем нашу, вероятно, желаемую подстроку в этой группе захвата:
(.+?)
Затем мы добавляем две границы слева и справа с помощью двух групп без захвата:
(?:\[+)
(?:\]+)
Демо
const regex = /(?:\[+)(.+?)(?:\]+)/g;
const str = `[[[hello-hello]]
[[hi-hi]]]
[[hi hi]]]`;
const subst = `$1`;
// The substituted value will be contained in the result variable
const result = str.replace(regex, subst);
console.log('Substitution result: ', result);
![enter image description here](https://i.stack.imgur.com/RyEr4.png)
RegEx
Если это выражение нежелательно, его можно изменить /изменено в regex101.com .
Схема RegEx
jex.im визуализирует регулярные выражения:
![enter image description here](https://i.stack.imgur.com/ufCRX.png)