Java n’echappe pas aux expressions régulières ! Pour les utiliser vous aurez besoin de rajouter la dépendance au package : import java.util.regex.*;
Voici la base pour les utiliser :
String ExpressionReguliere = "([0-9]*)"
//Permet de tester si le format de l’expression régulière est correct
try{
Pattern.compile(ExpressionReguliere );
//OK !
}
catch(PatternSyntaxException exception ){
//Problème
}
Ce morceau de code vous permettra de vérifier que le "pattern" de votre expression régulière est correct.
Cependant le plus intéressant c’est de savoir si une chaine de caractère correspond à ce pattern...
String ExpressionReguliere = "([0-9]*)";
String Chaine = "1515255";
//Teste si la chaine de caractère rentre dans le format de l’expression régulière
if(Chaine.matches(ExpressionReguliere ) ){
//Ok
//Dans ce cas là c correct !
}else{
//Problème !
}
Et voilà avec ces deux petits morceaux de code, on peut tester bien des choses(email, numéro / formats spéciaux...). Il ne reste plus qu’une chose à maitriser... les EXPRESSIONS REGULIERES ! Mais ça c’est pour plus tard !
Voici un petit morceau de code qui peut être bien utile pour tester vos patterns :
//Dépendances
import java.awt.*;
import java.awt.event.*;
//Utilisation du package de gestion de expressions régulière
import java.util.regex.*;
import javax.swing.*;
public class CTestExpressionReguliere{
public static void main(String [] args){
final JTextField patternField = new JTextField(12);
final JTextField testField = new JTextField(12);
patternField.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
String ExpressionReguliere = patternField.getText();
//Permet de tester si le format de l??expression réfgulière est correct
try{
Pattern.compile(ExpressionReguliere);
patternField.setBackground(Color.GREEN);
}catch(PatternSyntaxException exception){
patternField.setBackground(Color.RED);
}
}
});
testField.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
String ExpressionReguliere = patternField.getText();
String Chaine = testField.getText();
//Teste si la chaine de caractère rentre dans le format de l??exp. régulière
if(Chaine.matches(ExpressionReguliere ) ){
testField.setBackground(Color.GREEN);
}else{
testField.setBackground(Color.RED);
}
}
});
//Génère une JFrame(juste pour la présenatation !
final JFrame frame = new JFrame("Testeur d??expressions régulières [-]");
frame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent event){
System.exit(1);
}
});
Container contentPane = frame.getContentPane();
contentPane.setLayout(new GridLayout(2, 2, 0, 0));
contentPane.add(new JLabel("Pattern "));
contentPane.add(patternField);
contentPane.add(new JLabel("Test String "));
contentPane.add(testField);
frame.pack();
frame.show();
}
}
|