我想通过搜索代码来查看我的 Java 项目中使用了哪些内部库
import com.mycompany.someproject.path.ClassName;
假设我的项目标题是“myproject”。什么正则表达式会匹配所有以
开头的行import com.mycompany.
并排除:
myproject.path...
匹配的行将是:
import com.mycompany.tool.path.SomeClass;
import com.mycompany.sallysproject.path.SomeOtherClass;
并排除所有内部项目导入:
import com.mycompany.myproject.*
最佳答案
这应该有效:
import com\.mycompany\.(?!myproject\.).*
说明:
import com\.mycompany\.
- 该行必须以 import com.mycompany.
开头。非常不言自明;请注意,我们需要转义句点 - \.
- 以便它们实际上匹配句点,而不是“任何字符”。
(?!myproject\.)
- 这称为“负向前瞻”。仅当括号内的模式(?!
除外)不匹配时,整体匹配才会成功。
.*
- import com.mycompany.
之后的任何内容(myproject.
除外)都将被匹配。
关于java - 匹配字符串而不是单词的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4947087/