2012-07-17 50 views
-6

我有JS代码。如何使用正则表达式识别javascript函数?

我想找到每个函数的起始位置(通过'{'符号) 如何使用正则表达式找到它?

编辑:据我所知,这是不可能做到100%accurte,我如何能够通过正则表达式找到的功能,99%? 有没有快速的选择?

+2

你不应该用正则表达式来分析Javascript代码,因为Javascript不是一种常规语言,'{'符号在不同的上下文中可能意味着不同的事物。 – lanzz 2012-07-17 13:18:21

+1

函数名称(/ *复杂东西* /){'和函数(/ *复杂东西* /){'语法。匹配那些,得到他们的位置,并在简单的情况下开心。 – amon 2012-07-17 13:18:45

+1

@Nish,'var whoops =“function FOO”;' – 2012-07-17 13:23:09

回答

1

JavaScript不是常规语言,不能使用正则表达式进行分析。如果您想准确解析JavaScript,您将需要使用普通旧代码™。

例如,此代码段创建了一个函数:

function() 
{ 
    alert('foo'); 
} 

鉴于此代码段调用一个函数和码块:

foo. 
function() 
{ 
    alert('foo'); 
} 

这些各种各样的细微差别是不可能用一个简单的捡正则表达式。

+1

任何人都在评论这个答案的哪一部分是[“严重sl,,没有付出努力的帖子,或者答案显然也许是危险的不正确的]”(http://stackoverflow.com/privileges/vote-down) – zzzzBov 2012-07-17 18:00:06

相关问题