确定匹配 Java 正则表达式的位置和长度
javaobject oriented programmingprogramming更新于 2025/2/13 13:32:17
java.util.regex.Matcher 类的 start() 方法返回匹配的起始位置(如果发生匹配)。
类似地,Matcher 类的 end() 方法返回匹配的结束位置。
因此,start() 方法的返回值将是匹配的起始位置,而 end() 和 start() 方法的返回值之间的差将是匹配的长度。
示例
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MatcherExample {
public static void main(String[] args) {
int start = 0, len = -1;
Scanner sc = new Scanner(System.in);
System.out.println("输入输入文本: ");
String input = sc.nextLine();
String regex = "\d+";
//创建一个 Pattern 对象
Pattern pattern = Pattern.compile(regex);
//匹配字符串中的编译模式
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
start = matcher.start();
len = matcher.end()-start;
}
System.out.println("匹配的位置:"+start);
System.out.println("匹配的长度:"+len);
}
}
输出
输入文本: 样本数据,数字 12345 匹配位置:24 匹配长度:5
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

