我想通过搜索
的代码来查看我的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.*
答案 0 :(得分:3)
这应该有效:
import com\.mycompany\.(?!myproject\.).*
说明:
import com\.mycompany\.
- 该行必须以import com.mycompany.
开头。非常不言自明;请注意,我们需要转义句点 - \.
- 以便它们实际匹配句点,而不是“任何字符”。
(?!myproject\.)
- 这被称为“负向前瞻”。仅当括号内的模式(?!
除外)不匹配时,整体匹配才会成功。
.*
- import com.mycompany.
之后的任何内容(myproject.
除外)都将匹配。