Я пытаюсь написать простой анализатор Markdown на JavaScript. Поэтому я хочу проверить синтаксис [link content][link id]
. Я использую следующий код:
data = data.replace( /\[(.*?)\][ ]*\[([0-9]+)\]/g, '<a href="$2">$1</a>' );
Это работает хорошо, но теперь я хочу сделать это с объектом RegExp. Поэтому я установил следующий бит кода:
var r = new RegExp( '\[(.*?)\][ ]*\[([0-9]+)\]', 'g' );
data = data.replace( r, '<a href="$2">$1</a>' );
Но это не работает. Он даже говорит, что мое регулярное выражение (которое работает, так как первый пример хорошо работает) недопустимо:
не найдено) в регулярном выражении
Я думаю, что это связано с некоторыми особенностями RegExp-объектов, о которых я не знаю.
Что я делаю не так и как можно решить проблему?