正则表达式 – 如何在一段代码中识别变量名称

前端之家收集整理的这篇文章主要介绍了正则表达式 – 如何在一段代码中识别变量名称前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图在X中编写一个halstead复杂性度量(语言并不重要),我认为最好的方法是在源代码上使用正则表达式.

我已经设法做了90%,但我在变量名称上挣扎.

如何在一段代码中识别变量名称.

给出以下代码

public void main()
{
    int a,b,c,av;
    className class;
    strFmt("%1 %2 %3",a,c);
    av = (a + b + c) / 3;
    info("avg = %1");*/

    if(a)
    {
        a++;
        class.add(a);
    }
    else
    {
        b++;
        class.subtract(b)
    }

    this.main();
}

我希望得到“a”“b”“c”“av”“class”

有了halstead,它需要计算它们的实例.我想的方法是将上面的内容存储在一个列表中,然后在正则表达式查询中使用列表中的任何内容.迎合变量的所有可能用途将是疯狂的.

解决方法

我认为你必须反思AOT以获得不同的变量.

您可以使用TreeNode的反射,或者您可以使用XPPCompiler获取有关您正在处理的对象的信息以帮助:

info(strFmt(“%1”,new xppCompiler().dumpClass(‘salesformletter’)));

猜你在找的正则表达式相关文章