caseyryan, вот.

Код AS3:
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
public class Test extends Sprite
{
private var _json:Object;
private var _text:String;
public function Test()
{
var ldr:URLLoader = new URLLoader();
ldr.addEventListener(Event.COMPLETE, onLoadComplete);
ldr.load(new URLRequest('https://www.instagram.com/p/xCZYTQLmlB/?__a=1'));
}
private function onLoadComplete(e:Event):void
{
_json = JSON.parse(e.currentTarget.data);
_text = _json.graphql.shortcode_media.edge_media_to_caption.edges[0].node.text;
trace(_text);
var re:RegExp;
re = /\u26C4/g; // код иконки снеговика U+26C4
trace('1', _text.match(re)); // РАБОТАЕТ! Выводит снеговика
re = /[\u26C0-\u26CF]/g; // так же пробуем найти снеговика через диапазон кодов
trace('2', _text.match(re)); // РАБОТАЕТ! Выводит снеговика
re = /(\ud83c\udf84)/g; // теперь ищем иконку елки U+1F384. Т.к. это больше 2 байт, то записывается суррогатной парой - два подряд идущих кода - 2 старших байта U+D83C и 2 младших U+DF84
trace('3', _text.match(re)); // РАБОТАЕТ! Выводит елку
re = /([\ud800-\udbff][\udc00-\udfff])/g; // снова ищем елку, но через диапазон. Диапазон всех суррогатных пар - старший U+D800 - U+DBFF и младший U+DC00 - U+DFFF
trace('4', _text.match(re)); // НЕ РАБОТАЕТ! Ничего не находит.
}
}
}