动态文本regexp之前的字符串,返回重复的数组结果

时间:2015-03-30 05:43:53

标签: regex actionscript

我试图在' _'之前尝试获取一些字符串,我设法使用regexp并动态制作它,但不知怎的,它以数组形式返回,并重复2次回答。 我知道我可以像array [0]一样传递它,但它看起来并不简单。我做错了什么?

function stringBefore($string:String, $before:String):void {
        var s:String = $string;         
        var start:RegExp = /^([^/;
        var end:RegExp = /]*)/g;
        var completeRegExp:RegExp = new RegExp(start.source + $before + end.source);

        trace(s.match(completeRegExp))
    }

Exp:传递类似于' SFX_SOUND'我将[SFX,SFX]放在一个数组

1 个答案:

答案 0 :(得分:1)

你无法以这种方式组合正则表达式。您只能组合字符串模式,然后编译正则表达式对象。所以,你可能想修改你的代码:

var start:RegExp = "^([^";
var end:RegExp = "]*)";
var completeRegExp:RegExp = new RegExp(start.source + $before + end.source, "g");

或者,也许只是使用字符串

var start:String = "^([^";
var end:String = "]*)";
var completeRegExp:RegExp = new RegExp(start + $before + end, "g");