Beispiel für einen regulären Ausdruck von Spring EL

Beispiel für einen regulären Ausdruck von Spring EL

Spring EL unterstützt reguläre Ausdrücke mit einem einfachen Schlüsselwort „matches“, was wirklich großartig ist! Zum Beispiel,

    @Value("#{'100' matches '\\d+' }")
    private boolean isDigit;

Über den regulären Ausdruck "\d+" wird geprüft, ob "100" eine gültige Ziffer ist.

Frühling EL in der Anmerkung

Siehe die folgenden Beispiele für reguläre Ausdrücke von Spring EL, einige davon gemischt mit ternären Operatoren, wodurch Spring EL ziemlich flexibel und leistungsstark ist.

Das folgende Beispiel sollte selbsterklärend sein.

package com.example.core;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component("customerBean")
public class Customer {

    // email regular expression
    String emailRegEx = "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)" +
            "*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";

    // if this is a digit?
    @Value("#{'100' matches '\\d+' }")
    private boolean validDigit;

    // if this is a digit + ternary operator
    @Value("#{ ('100' matches '\\d+') == true ? " +
            "'yes this is digit' : 'No this is not a digit'  }")
    private String msg;

    // if this emailBean.emailAddress contains a valid email address?
    @Value("#{emailBean.emailAddress matches customerBean.emailRegEx}")
    private boolean validEmail;

    //getter and setter methods, and constructor
}
package com.example.core;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component("emailBean")
public class Email {

    @Value("[email protected]")
    String emailAddress;

    //...
}

Ausgabe

Customer [isDigit=true, msg=yes this is digit, isValidEmail=true]

Spring EL in XML

Siehe äquivalente Version in der Bean-Definitions-XML-Datei.



    
      
      
      
    

    
      
    

Quellcode herunterladen

Laden Sie es herunter -Spring3-EL-Regular-Expression-Example.zip (6 KB)