正则表达式帮助AS3?

时间:2011-09-14 14:55:06

标签: actionscript-3 flash-cs5 flash-cs4 flash-cs3

我正在处理正则表达式,我需要提取通过flashvars导入的表达式的两个部分。

//sample data similar to what comes in from the flashvars. Note that the spaces are not after the and symbol, they are there because the html strips it.
var sampleText:String = "height1=60& amp;height2=80& amp;height3=95& amp;height4=75& amp;"

var heightRegExp:RegExp = /height\d/g;   //separates out the variables

var matches:Array = sampleText.match(heightRegExp);

现在我需要帮助隔离每个变量的值并将它们放在一个数组中...例如,60, 80,等我知道我应该能够编写这个正则表达式,但我不能获得exec表达权。任何帮助都会非常感激!

3 个答案:

答案 0 :(得分:0)

抱歉没有直接回答正则表达式的问题。我会这样做:

var keyvalues:Array = sampleText.split("& amp;");
var firstkey:String = keyvalues[0].split("=")[0];
var firstvalue:String = keyvalues[0].split("=")[1];

除了事实之外,它是否有助于它不使用RegEx?

答案 1 :(得分:0)

不是=,&或者 ;是特殊字符,所以我认为你可以使用

=|&

在拆分调用中,然后值将在奇数索引中,而height2样式名称将在偶数索引中。

答案 2 :(得分:0)

您可以使用URLUtil.stringToObject()

这样的事情应该有效:

var s:String = "name=Alex&age=21";
var o:Object = URLUtil.stringToObject(s, "&", true);

但是,如果你刚刚获得flashvars,你应该从根的loaderInfo拉出它们。

this.root.loaderInfo.parameters;