用于代码的Java正则表达式,例如' this。&#39 ;?

时间:2014-04-15 21:58:20

标签: java regex

如何搜索源代码以查找和删除“this”的所有用法,例如: 'this.getVersion()'将变为'getVersion()'

我想我需要一个正则表达式,但我不知道如何创建一个来搜索它的代码。

感谢。

3 个答案:

答案 0 :(得分:3)

我会建议反对。因为说你有方法

public class Foo {

    private int a;

    public void Bar (int a) {
        this.a = a;
    }


}

删除this.后,方法的语义会发生变化。

如果不构建解析树并进行语义分析,则无法修改此语义安全。


如果你真的想继续下去:

\bthis\.

是一个正在使用的正则表达式。

答案 1 :(得分:1)

正则表达式可以工作,以匹配包含"这个" (比如,(.*)(this)(.*)

但是如果没有更多的语义信息,你可以随意删除这些信息。更糟糕的是,您可能会更改代码的含义。你为什么要这样做?

答案 2 :(得分:1)

我假设你想用Java写这个,并且你已经阅读了另一个答案中的注意事项。您只需将每个文件加载到String中并使用

即可
myFileString.replaceAll("\\bthis\\.", "");

有关详细信息,请参阅Javadoc