Java中的正则表达式函数有哪些常用的方法?
发布时间:2023-07-25 15:11:24
在Java中,常用的正则表达式函数方法有以下几种:
1. matches(String regex, CharSequence input):
该方法用于判断给定的字符串是否完全匹配正则表达式。
示例代码:
String regex = "\\d+"; // 匹配一个或多个数字 String input = "12345"; boolean isMatched = input.matches(regex);
2. split(String regex, CharSequence input):
该方法根据正则表达式将字符串分割成一个字符串数组。
示例代码:
String regex = "\\s+"; // 匹配一个或多个空格 String input = "Java is a programming language"; String[] result = input.split(regex);
3. replaceAll(String regex, String replacement):
该方法将匹配正则表达式的部分替换为指定的字符串。
示例代码:
String regex = "\\s+"; // 匹配一个或多个空格 String input = "Java is a programming language"; String replacement = "_"; String result = input.replaceAll(regex, replacement);
4. find():
该方法用于在输入字符串中查找匹配正则表达式的子串。
示例代码:
String regex = "\\d+"; // 匹配一个或多个数字
String input = "age: 25, height: 180cm";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
if (matcher.find()) {
String matchedValue = matcher.group(); // 返回匹配到的子串
}
5. matches():
该方法用于判断整个字符串是否匹配正则表达式。与find()方法不同的是,它需要完全匹配整个输入字符串。
示例代码:
String regex = "\\d+"; // 匹配一个或多个数字 String input = "12345"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(input); boolean isMatched = matcher.matches();
6. group(int group):
该方法用于返回给定组的匹配子串。
示例代码:
String regex = "(\\d+)-(\\d+)";
String input = "10-20";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
if (matcher.find()) {
String group1 = matcher.group(1); // 返回 个组的匹配子串 "10"
String group2 = matcher.group(2); // 返回第二个组的匹配子串 "20"
}
7. start()和end():
这两个方法用于返回匹配子串的起始位置和结束位置。
示例代码:
String regex = "\\d+"; // 匹配一个或多个数字
String input = "age: 25, height: 180cm";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
if (matcher.find()) {
int startIndex = matcher.start(); // 返回匹配子串的起始位置 6
int endIndex = matcher.end(); // 返回匹配子串的结束位置 8
}
上述是常见的一些正则表达式函数方法,当然还有其他许多类似的方法,可以根据具体需求选择使用。
