在Java中,正規表示式是非常常用的技術之一,幾乎可以用於任何文字處理場景,例如文字搜尋、擷取、分析、替換等。其強大的匹配能力可以大大提高開發效率,同時可以讓程式碼更加簡潔且易於維護。以下是一些Java中的正規表示式練習題,幫助大家熟練正規表示式的應用。
正規表示式:[u4e00-u9fa5]
解釋:中文字元的Unicode碼值範圍是從4e00到9fa5 ,因此使用u4e00-u9fa5來匹配中文字元。
範例程式碼:
public static boolean isChinese(String str){ Pattern pattern = Pattern.compile("[\u4e00-\u9fa5]+"); return pattern.matcher(str).matches(); }
#正規表示式: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(); }
#正規表示式:(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[3456789]d{9}$
# #解釋:這個正規表示式匹配以1開頭的11位數字電話號碼,包括了中國大陸的所有手機號碼。
範例程式碼:
public static boolean isPhoneNumber(String phoneNumber){ Pattern pattern = Pattern.compile("^1[3456789]\d{9}$"); return pattern.matcher(phoneNumber).matches(); }
#正規表示式:^(([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(); }
#正規表示式:^([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(); }
#正規表示式:^\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中文網其他相關文章!