代码:
String etr = "fdsfsdaf\nTKT:1101234567890FSDFD";
格式类似于“。+ \ nTKT:\ d {13}。+”。
如何使用String.replaceAll实现“\ nTTT:”之后获得前3个数字?在这个例子中,我想得到的是“110”。排除匹配器,模式和其他字符串方法,如indexOf()。因为我发现正则表达式包含“?:”,“?<”,但我尝试但失败了,类似于“:
replaceAll(".+\nTKT:(?=[\\d{3}])\\d{10}.+","");
提前致谢。我只知道正则表达式的一些基本用法。
答案 0 :(得分:1)
或者你可以replaceAll(".+\nTKT:(\\d{3})\\d{10}.+", "$1");
答案 1 :(得分:0)
而不是替换,你应该匹配它
Matcher m=Pattern.compile(".+\nTKT:(\\d{3})\\d{10}.+").matcher(input);
if(m.find())
{
m.group(1);
}