Home >Java >javaTutorial >Regular expression exercises in Java

Regular expression exercises in Java

WBOY
WBOYOriginal
2023-06-16 14:36:121447browse

In Java, regular expressions are one of the most commonly used technologies and can be used in almost any text processing scenario, such as text search, extraction, analysis, replacement, etc. Its powerful matching capabilities can greatly improve development efficiency, while making the code more concise and easier to maintain. The following are some regular expression exercises in Java to help you master the application of regular expressions.

  1. Match Chinese characters

Regular expression: [u4e00-u9fa5]

Explanation: The Unicode code value range of Chinese characters is from 4e00 to 9fa5 , so u4e00-u9fa5 is used to match Chinese characters.

Sample code:

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

Regular expression: w ([- .]w )@w ([ -.]w ).w ([-.]w )*

Explanation: This regular expression matches email addresses starting with any alphanumeric characters, including common email addresses, such as @example.com, @example.co.uk, etc.

Sample code:

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

Regular expression: (http|https)://([w-] .) [ w-] (/[w-./?%&=]*)?

Explanation: This regular expression matches URLs starting with http or https, including common TLD top-level domain names, such as .com , .cn, .edu, etc.

Sample code:

public static boolean isUrl(String url){
    Pattern pattern = Pattern.compile("(http|https)://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?");
    return pattern.matcher(url).matches();
}
  1. Match mobile phone number

Regular expression: ^1[3456789]d{9}$

Explanation: This regular expression matches 11-digit phone numbers starting with 1, including all mobile phone numbers in mainland China.

Sample code:

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

Regular expression: ^(([01]?\d?\d|2[ 0-4]\d|25[0-5]).){3}([01]?\d\d|2[0-4]\d|25[0-5])$

Explanation: This regular expression matches IPv4 addresses, including all addresses from 0.0.0.0~255.255.255.255.

Sample code:

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. Matching time format

Regular expression: ^([01]?[0-9]|2[0 -3]):[0-5]?[0-9]$

Explanation: This regular expression matches the 24-hour time, including 1:00, 02:59, 13:01, etc. Common formats.

Sample code:

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. Match date format

Regular expression: ^\d{4}(-|/)(0?[ 1-9]|1[0-2])(-|/)(12|0?[1-9]|3[01])$

Explanation: This regular expression matches yyyy-MM Dates in -dd format include common formats such as 2000-01-01 and 2010/12/31.

Sample code:

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();
}

Summary:

Regular expressions are widely used in Java. Mastering the basic syntax and common usage of regular expressions can greatly improve your code. efficiency and maintainability. The 7 examples provided above are commonly used regular expression examples, which can help readers use them flexibly in daily development and improve development efficiency.

The above is the detailed content of Regular expression exercises in Java. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn