Начальная строка:
I like [dogs], [cats], and [birds]
Требуется окончательный вывод:
I like <a href="#">dogs</a>, <a href="#">cats</a>, and <a href="#">birds</a>
Таким образом, в основном меняются элементы со скобками на ссылки.
Используйте это выражение:
var str = 'I like [dogs], [cats], and [birds]'; alert(str.replace(/\[(.+?)\]/g, '<a href="#">$1</a>'));
\[(.+?)\] запрашивает литерал [, чтобы лениво сопоставлять и захватывать что-либо, а затем сопоставлять литерал ]. Заменить захваченным материалом, заключенным в теги <a>.
\[(.+?)\]
[
]
<a>
Модификатор g означает глобальную замену, то есть находит и заменяет каждое совпадение, а не только первое.
g
jsFiddle Предварительный просмотр
Это простая замена строки.
function tagIt(source) { return source.replace('[', '<a href="#">').replace(']', '</a>'); }