test() не нужен - если нечего заменять, то ничего и не заменится. Для того, чтобы получить все совпадения, а не только следующее нужен флаг g. В AS3 принято использовать конструкторы для регулярных выражений только если они создаются динамически, если выражение извесно во время компиляции - лучше пользоваться литералом - по крайней мере меньше обратных косых прийдется писать.
Т.е. выражение

Код AS3:
new RegExp("(http[s]?|[s]?ftp):\\/\\/[^\\s]+", "g")
эквивалентно:

Код AS3:
/(http[s]?|[s]?ftp):\/\/[^\s]+/g
(просто на всякий случай напомню, что протоколами http(s) и (s)ftp все протоколы и псевдопротоколы не исчерпываются, как пример - svn://, а еще есть торенты и еще...).