我有JS代码。如何使用正则表达式识别javascript函数?
我想找到每个函数的起始位置(通过'{'符号) 如何使用正则表达式找到它?
编辑:据我所知,这是不可能做到100%accurte,我如何能够通过正则表达式找到的功能,99%? 有没有快速的选择?
我有JS代码。如何使用正则表达式识别javascript函数?
我想找到每个函数的起始位置(通过'{'符号) 如何使用正则表达式找到它?
编辑:据我所知,这是不可能做到100%accurte,我如何能够通过正则表达式找到的功能,99%? 有没有快速的选择?
JavaScript不是常规语言,不能使用正则表达式进行分析。如果您想准确解析JavaScript,您将需要使用普通旧代码™。
例如,此代码段创建了一个函数:
function()
{
alert('foo');
}
鉴于此代码段调用一个函数和码块:
foo.
function()
{
alert('foo');
}
这些各种各样的细微差别是不可能用一个简单的捡正则表达式。
任何人都在评论这个答案的哪一部分是[“严重sl,,没有付出努力的帖子,或者答案显然也许是危险的不正确的]”(http://stackoverflow.com/privileges/vote-down) – zzzzBov 2012-07-17 18:00:06
你不应该用正则表达式来分析Javascript代码,因为Javascript不是一种常规语言,'{'符号在不同的上下文中可能意味着不同的事物。 – lanzz 2012-07-17 13:18:21
函数名称(/ *复杂东西* /){'和函数(/ *复杂东西* /){'语法。匹配那些,得到他们的位置,并在简单的情况下开心。 – amon 2012-07-17 13:18:45
@Nish,'var whoops =“function FOO”;' – 2012-07-17 13:23:09