在Java中,使用正则表达式主要涉及到java.util.regex
包。以下是一些基本示例,说明如何使用正则表达式来匹配、查找和替换字符串。
import java.util.regex.Pattern;
import java.util.regex.Matcher;
String regex = "your_regex_pattern_here";
Pattern pattern = Pattern.compile(regex);
String input = "your_input_string_here";
Matcher matcher = pattern.matcher(input);
find()
方法查找匹配项:while (matcher.find()) {
System.out.println("Found match: " + matcher.group());
}
matches()
方法检查整个字符串是否匹配:boolean isMatch = matcher.matches();
System.out.println("Is the entire string a match? " + isMatch);
replaceAll()
方法替换匹配项:String replacement = "your_replacement_string_here";
String result = matcher.replaceAll(replacement);
System.out.println("Replaced string: " + result);
split()
方法根据匹配项拆分字符串:String[] splitResult = pattern.split(input);
System.out.println("Split string: " + Arrays.toString(splitResult));
以下是一个完整的示例,演示了如何使用正则表达式验证电子邮件地址:
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class RegexExample {
public static void main(String[] args) {
String regex = "^[\\w!#$%&'*+/=?`{|}~^-]+(?:\\.[\\w!#$%&'*+/=?`{|}~^-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,6}$";
Pattern pattern = Pattern.compile(regex);
String input = "example@example.com";
Matcher matcher = pattern.matcher(input);
if (matcher.matches()) {
System.out.println("Valid email address");
} else {
System.out.println("Invalid email address");
}
}
}
这个示例中,我们使用了一个正则表达式来验证电子邮件地址的格式。如果输入的字符串符合电子邮件地址的格式,程序将输出"Valid email address",否则输出"Invalid email address"。