首頁  >  文章  >  Java  >  Java中的正規表示式練習題

Java中的正規表示式練習題

WBOY
WBOY原創
2023-06-16 14:36:121361瀏覽

在Java中,正規表示式是非常常用的技術之一,幾乎可以用於任何文字處理場景,例如文字搜尋、擷取、分析、替換等。其強大的匹配能力可以大大提高開發效率,同時可以讓程式碼更加簡潔且易於維護。以下是一些Java中的正規表示式練習題,幫助大家熟練正規表示式的應用。

  1. 符合中文字元

正規表示式:[u4e00-u9fa5]

解釋:中文字元的Unicode碼值範圍是從4e00到9fa5 ,因此使用u4e00-u9fa5來匹配中文字元。

範例程式碼:

public static boolean isChinese(String str){
    Pattern pattern = Pattern.compile("[\u4e00-\u9fa5]+");
    return pattern.matcher(str).matches();
}
  1. 符合Email位址

#正規表示式:w ([- .]w )@w ([ -.]w ).w ([-.]w )*

解釋:這個正規表示式匹配以任意字母數字字元為開頭的Email地址,包括了常見的郵箱地址,如@example.com、@example.co.uk等。

範例程式碼:

public static boolean isEmail(String email){
    Pattern pattern = Pattern.compile("\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");
    return pattern.matcher(email).matches();
}
  1. 符合網址

#正規表示式:(http|https)://([w-] .) [ w-] (/[w-./?%&=]*)?

解釋:這個正規表示式匹配以http或https開頭的網址,包括了常見的TLD頂級域名,如.com 、.cn、.edu等。

範例程式碼:

public static boolean isUrl(String url){
    Pattern pattern = Pattern.compile("(http|https)://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?");
    return pattern.matcher(url).matches();
}
  1. 符合手機號碼

#正規表示式:^1[3456789]d{9}$

# #解釋:這個正規表示式匹配以1開頭的11位數字電話號碼,包括了中國大陸的所有手機號碼。

範例程式碼:

public static boolean isPhoneNumber(String phoneNumber){
    Pattern pattern = Pattern.compile("^1[3456789]\d{9}$");
    return pattern.matcher(phoneNumber).matches();
}
  1. 符合IP位址

#正規表示式:^(([01]?\d?\d|2[ 0-4]\d|25[0-5]).){3}([01]?\d\d|2[0-4]\d|25[0-5])$

解釋:這個正規表示式符合IPv4位址,包含了0.0.0.0~255.255.255.255的所有位址。

範例程式碼:

public static boolean isIpAddress(String ipAddress){
    Pattern pattern = Pattern.compile("^(([01]?\d\d?|2[0-4]\d|25[0-5])\.){3}([01]?\d\d?|2[0-4]\d|25[0-5])$");
    return pattern.matcher(ipAddress).matches();
}
  1. 符合時間格式

#正規表示式:^([01]?[0-9]|2[0 -3]):[0-5]?[0-9]$

解釋:這個正規表示式符合24小時制的時間,包括了1:00、02:59、13:01等常見格式。

範例程式碼:

public static boolean isTimeFormat(String time){
    Pattern pattern = Pattern.compile("^([01]?[0-9]|2[0-3]):[0-5]?[0-9]$");
    return pattern.matcher(time).matches();
}
  1. 符合日期格式

#正規表示式:^\d{4}(-|/)(0?[ 1-9]|1[0-2])(-|/)(12|0?[1-9]|3[01])$

解釋:這個正規表示式符合yyyy-MM -dd格式的日期,包括了2000-01-01、2010/12/31等常見格式。

範例程式碼:

public static boolean isDateFormat(String date){
    Pattern pattern = Pattern.compile("^\d{4}(-|/)(0?[1-9]|1[0-2])(-|/)([12][0-9]|0?[1-9]|3[01])$");
    return pattern.matcher(date).matches();
}

總結:

正規表示式在Java中具有廣泛的應用,掌握正規表示式的基本語法和常見用法,可以大幅提升程式碼的效率和可維護性。上面提供的7個例子是常用的正規表示式範例,可以幫助讀者在日常開發中靈活運用,提高開發效率。

以上是Java中的正規表示式練習題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn