0 votes

Déclaration des importations Java regex

J'essaie d'écrire un modèle en Java pour le comparer aux déclarations d'importation en Java.

Exemple :

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; */

S'accorderait avec seulement :

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;

Jusqu'à présent, j'ai l'expression rationnelle suivante :

"[^A-Za-z0-9\\n]? *import(static|\\s)+[\\w.]*(\\*)?(\\s)*;"

Mais cela ne fonctionne pas. Par exemple :

import org.junit.Test; 
import java.util.ArrayList;
/* The import name; lazily initialized; defaults to a unspecified,...

les retours :

import org.junit.Test; 
import java.util.ArrayList; 
import name;

ce qui est faux.

0voto

unbeli Points 9573

Que pensez-vous de ceci ?

^import

0voto

Tiago Veloso Points 1740

J'ai réussi à le faire fonctionner en utilisant un drapeau.

Il ressemble maintenant à ce qui suit :

Pattern.compile("(;|^ *)import(static|\\s)+[\\w.]*(\\*)?(\\s)*;",Pattern.MULTILINE);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X