Приятного времени суток.
Помогите разобраться с регулярным выражением пожалуйста.
Есть текст:

Код:
some text1 and [link=http://google.com/]some_link[/link]
Я его пытаюсь переделать в ссылку:

Код:
var text = "some text1 and [link=http://google.com/]some_link[/link]";
var pattern:RegExp = new RegExp("[link=([^\]]+)\]([^\[]+)\[/link\]", "iu");
trace(str.replace(pattern, "<a href='\\1'>\\2}<\a>"));
И получаю вот такое чудо:

Код:
some text1 a<a href='\1'>\2}<\>d [link=http://google.com/]some_link[/link]
А почему? Такой код в php работает:

Код:
<?php
header('Content-Type:text/html; charset=utf-8');
$pattern = "|\[link=([^\]]+)\]([^\[]+)\[/link\]|iu";
$replacement = "<a href='\\1'>\\2<\a>";
$text = "some text1 and [link=http://google.com/]some_link[/link]";
echo preg_replace($pattern,$replacement,$text);
?>
Я так понимаю что я неразобрался как переменные из () отлавливать. но почему оно еще и часть ссылки оставляет?
Помогите пожалуйста.