首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

Flex ActionScript 使用正则解析js代码,该如何处理

2012-04-22 
Flex ActionScript 使用正则解析js代码需要要Flex 程序内部,使用正则表达式解析下面的js代码:(下面的代码

Flex ActionScript 使用正则解析js代码

需要要Flex 程序内部,使用正则表达式解析下面的js代码:
(下面的代码来源于:http://j.maxmind.com/app/geoip.js)

JScript code
function geoip_country_code() { return 'CN'; }function geoip_country_name() { return 'China'; }function geoip_city()         { return 'Wuhan'; }function geoip_region()       { return '12'; }function geoip_region_name()  { return 'Hubei'; }function geoip_latitude()     { return '30.5801'; }function geoip_longitude()    { return '114.2734'; }function geoip_postal_code()  { return ''; }function geoip_area_code()    { return ''; }function geoip_metro_code()   { return ''; }


通过函数名,得到返回值:
如: geoip_country_code, 则得到 CN
  geoip_country_name, 则得到 China


替代方案: 如果有能返回xml格式数据的也可以,这样Flex能很方便的处理!!


谢谢!!

[解决办法]
给个正则吧,这没必要用正则,用switch多好的
/function\s*(.*?)\s*\{\s*return \s*(.*?);\s*\}/gi
取第一个分组和第二个分组就行了
[解决办法]
你的需求看起来还是很迷糊啊...是想知道如何通过Flex调用JS?
[解决办法]
看楼主好舍得给分哦。
我简单些了一下把上面的字符串转换成xml。其实没什么技术含量。如果需要改就说话。

JScript code
var reg:RegExp = /function\s*(.*)\(\)\s*{\s*return\s*'(.*)'.*}/ig;var str:String = txt.text;var obj:Object = reg.exec(str);var xml:XML;var xmls:String;while (obj != null){    xmls +=  "<name><fun>" + obj[1] + "</fun><value>" + obj[2] + "</value></name>\n";    obj = reg.exec(str);}xml = XML("<body>" + xmls + "</body>"); 

热点排行