代码:
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);
}