2016-12-14 36 views
-1

我是新來的java,我需要驗證這兩個模式,以驗證西班牙汽車註冊。如何建立一個正則表達式模式來驗證西班牙汽車註冊

這是兩種可能性,我可以有: 模式1:LL NNNN LL 模式2:L NNNN LLL

L =信 N =數

的實現方式可以是這樣的,一旦我得到的模式可以做到這一點?:

String validPatter = " "; 

     Pattern pattern = Pattern.compile(validPatter); 

     String text ="MAA"; 

     Matcher matcher = pattern.matcher(texto); 

     if(matcher.matches()){ 
      System.out.println("Yes"); 
     }else{ 
      System.out.println("No"); 
     } 
+2

釷是來自Google的第一個鏈接:「如何寫正則表達式」:http://www.regular-expressions.info/quickstart.html – khelwood

+1

'[a-zA-Z] {2} \ s \ d {4} \ s [a-zA-Z] {2} | [a-zA-Z] \ s \ d {4} \ s [a-zA-Z] {3}''這個,但使用程序Expresso來測試它,它的工作原理。你需要研究正則表達式,因爲應該有一個更簡單的方法來做到這一點。 –

回答

1

如果你想檢查西班牙招生,你可以使用這個表達式:

^[a-zA-Z]{1,2}\\d{4}[a-zA-Z]{1,2}$|^\\d{4}[a-zA-Z]{3}$ 

static final private Pattern patternEnrollment = Pattern.compile("^[a-zA-Z]{1,2}\\d{4}[a-zA-Z]{1,2}$|^\\d{4}[a-zA-Z]{3}$"); 

    public static boolean validateEnrollment(String enrollmentToValidate) { 
     return patternEnrollment.matcher(enrollmentToValidate).matches(); 
    } 

這種模式是:

舊招生: 大號NNNN大號 大號NNNN LL LL NNNN LL LL NNNN大號

新入學: NNNN大號

0

你可以使用這個兩個正則表達式

^[a-zA-Z]{2} \d{4} [a-zA-Z]{2}$LL NNNN LL
^[a-zA-Z]{1} \d{4} [a-zA-Z]{3}$L NNNN LLL

Pattern pattern1 = Pattern.compile("^[a-zA-Z]{2} \d{4} [a-zA-Z]{2}$"); 
Pattern pattern2 = Pattern.compile("^[a-zA-Z]{1} \d{4} [a-zA-Z]{3}$"); 
Matcher m = pattern1.matcher("MMAA"); 
Matcher m2 = pattern2.matcher("MAAA"); 

看到這裏演示https://regex101.com/r/zA9TNK/2

1

這裏是正則表達式,你可以用它來找到兩個模式:

[a-zA-Z]{2}\s\d{4}\s[a-zA-Z]{2}|[a-zA-Z]\s\d{4}\s[a-zA-Z]{3} 

的上述說明正則表達式:

[a-zA-Z]{2}\s\d{4}\s[a-zA-Z]{2}這將找到圖形1

[a-zA-Z]\s\d{4}\s[a-zA-Z]{3}這會發現圖案2

|是OR條件。

我已經在一個名爲Expresso的Regex程序上測試了這個,我建議你看看。

關於如何使用正則表達式以及它如何工作,網上有很多資源。