2016-11-07 60 views
0

我有一個加拿大郵政編碼的正則表達式。但是這個正式表達僅支持大寫字母而不是小寫字母。任何人都可以讓我知道這是如何支持小寫字符的。java正則表達式支持小寫字符

REG EXP:

Pattern patternForZip = Pattern.compile("^(?!.*[DFIOQU])[A-VXY][0-9][A-Z]?[0-9][A-Z][0-9]$");

這怎麼以上REG EXP支持小寫字母。

回答

0

試試這個:

"^(?!.*[DFIOQUdfioqu])[A-VXYa-vxy][0-9][A-Za-z]?[0-9][A-Za-z][0-9]$" 

還是可以做到這一點,使之不區分大小寫:

"(?!)^(?!.*[DFIOQU])[A-VXY][0-9][A-Z]?[0-9][A-Z][0-9]$" 

你可以試試這個:

final String regex = "^(?!.*[DFIOQU])[A-VXY][0-9][A-Z]?[0-9][A-Z][0-9]$"; 
final String string = "a2a2a2\n" 
     + "A2A2A2"; 

final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE | Pattern.CASE_INSENSITIVE); 
final Matcher matcher = pattern.matcher(string); 
while (matcher.find()) { 
    System.out.println("Full match: " + matcher.group(0)); 
} 
+0

兩個正則表達式是行不通的。 – Ravikanth

+0

你還沒有給出任何樣本輸入和輸出來測試正則表達式.. PLZ提供了一些樣本輸入和輸出 –

+0

輸入可能是「a2a 2a2」或「A2A 2A2」。這兩種情況應該是有效的 – Ravikanth