繁体   English   中英

Java正则表达式代码,例如“ this”。

[英]Java regex for code, such as 'this.'?

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

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

谢谢。

我对此表示反对。 因为说你有办法

public class Foo {

    private int a;

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


}

通过删除this. ,该方法的语义已更改。

您必须先构建分析树并进行一些语义分析,才能修改此语义安全的文件。


如果您确实希望继续:

\bthis\.

是一个可能会解决问题的正则表达式。

正则表达式可以工作,以匹配包含“ this”的单词(例如(.*)(this)(.*)

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

我假设您想用Java编写此代码,并且已经阅读了其他答案中的注意事项。 您可以将每个文件加载到字符串中并使用

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

有关详细信息,请参见Javadoc

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM