Я пытаюсь написать шаблон на Java, чтобы он соответствовал объявлениям импорта Java.
Пример:
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.InputFormat;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
// import org.apache.hadoop.mapreduce.Something;
/* import org.apache.hadoop.something.else; */
Будет соответствовать только:
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.InputFormat;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
Пока у меня есть следующее регулярное выражение:
"[^A-Za-z0-9\\n]? *import(static|\\s)+[\\w.]*(\\*)?(\\s)*;"
Но это не работает. Например:
import org.junit.Test;
import java.util.ArrayList;
/* The import name; lazily initialized; defaults to a unspecified,...
возвращается:
import org.junit.Test;
import java.util.ArrayList;
import name;
что не так.