2011-02-09 5 views
2

я хотел бы видеть, что внутренние библиотеки используются в моем проекте Java с помощью поиска по коду дляRegex, что соответствует строке, а не слово

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.* 

ответ

3

Это должно K:

import com\.mycompany\.(?!myproject\.).* 

Объяснение:

import com\.mycompany\. - линия должна начинаться с import com.mycompany.. Довольно понятный; обратите внимание, что нам нужно избегать периодов - \. - чтобы они фактически соответствовали периодам, а не «любому персонажу».

(?!myproject\.) - Это называется «негативный взгляд». Полное совпадение будет выполнено только в том случае, если шаблон внутри круглых скобок (кроме ?!) не соответствует.

.* - Все, что после import com.mycompany. (за исключением myproject.) будет соответствовать.