[英]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.