Я пытаюсь создать небольшой скрипт, который будет обертывать некоторые части текста, например. <p> тег вроде этого: <p>... 'displayed text'[popup content] ...</p> в обертке span.
Конечный результат будет выглядеть так:
<span class='wrapper'>
displayed text
<span class='popup'>popup content</span>
</span>
На данный момент я могу найти и заменить текст между апострофами следующим образом:
some_string.replace(/'(.*?)'/g,'<span>$1</span>');
Но мне бы очень хотелось сначала обернуть часть popup content, а затем обернуть ее вместе с displayed text внутри элемента wrapper.
Возможно ли это?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Конечно - как насчет этого?
some_string.replace(/'(.*?)'\[(.*?)\]/, "$1<span class='popup'>$2</span>");
Добавьте \s* между двумя частями регулярного выражения, если они могут быть разделены пробелом:
/'(.*?)'\s*\[(.*?)\]/
О, это ожидаемо @AleksanderCiecierski, потому что я забыл группу захвата.
Да, теперь это работает. Спасибо! Мне это действительно нужно, чтобы моя HTML-разметка была чище и ее было легче редактировать. Я разместил комментарий до того, как увидел, что вы его исправили.
Кажется, выбирается текст между апострофами и скобками, но тот, что в скобках, заменяется на
$2