我有这个功能:
function tagCheck(tag:String,rez:String):String{
var regExp:RegExp = /\[user_id\](.*?)\[\/user_id\]/g;
var matches:Object = regExp.exec(rez);
return matches[1];
}
我想用tag更改“user_id”,我怎么能这样做,因为regExp中没有字符串?谢谢!
答案 0 :(得分:0)
您只需创建一个新的RegExp
类即可创建一个正则表达式。
public function RegExp(re:String,flags:String)
function tagCheck(tag:String, rez:String) : String {
var tagRegex:String = tag.replace(new RegExp('[.\\\\+*?\\[\\^\\]$(){}=!<>|:\\' + ('\/' || '') + '-]', 'g'), '\\$&');
var regExp:RegExp = new RegExp('\\[' + tagRegex + '\\](.*?)\\[\\/' + tagRegex + '\\]', 'g');
var matches:Object = regExp.exec(rez);
return matches[1];
}
应该工作(虽然未经测试)。 The first line is to make sure that a tag called my.tag
gets changed into my\.tag