我试图在' _'之前尝试获取一些字符串,我设法使用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]放在一个数组
中答案 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");