代码:

  String etr = "fdsfsdaf\nTKT:1101234567890FSDFD";


格式类似于“。+ \ nTKT:\ d {13}。+”。

如何使用String.replaceAll实现“ \ nTKT:”之后的前3个数字?在这个例子中,我想得到的是“ 110”。排除Matcher,Pattern和其他String方法(如indexOf())。因为我发现正则表达式包含“?:”,“?
      replaceAll(".+\nTKT:(?=[\\d{3}])\\d{10}.+","");


预先感谢。我只知道Regex的一些基本用法。

最佳答案

而不是替换,您应该匹配它

Matcher m=Pattern.compile(".+\nTKT:(\\d{3})\\d{10}.+").matcher(input);
if(m.find())
{
    m.group(1);
}

08-18 04:03