想想这样的字符串:
public function test(data)
{
if (1 == 2)
{
alert("Wtf?");
}
switch (data)
{
case 'test':
alert("Test");
break;
}
}
我需要解析该字符串,以便我拥有该函数的主体(内容)。
我已经让我的 reg exp 工作了,所以我有函数的内容,但是当有一个结尾 }。正则表达式停止,内容将如下所示:
if (1 == 2)
{
alert("Wtf?");
我真的希望有人可以帮助我..
这是我用于拆分此字符串的 Reg Exp:
var test = classContent.replace(/(?:(private|public)\s*)function\s*([a-zA-Z0-9_]+)\s*\(([a-zA-Z0-9_\,\s]*)\s*\)\s*{([^}]+)\}/gi, function(a, b, c, d, e) {
classMethods[c] = {
visibility : b.trim(),
params : d.trim(),
content : e.trim()
};
});