简体   繁体   English

如何使用java String.replaceAll(字符串正则表达式,字符串替换)来获取我想要的?

[英]How to use java String.replaceAll(string regex,string replacement) to get what I want?

Codes: 代码:

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

the format is like ".+\\nTKT:\\d{13}.+". 格式类似于“。+ \\ nTKT:\\ d {13}。+”。

how to get first 3 numberic after "\\nTKT:" using String.replaceAll to implement? 如何使用String.replaceAll实现“ \\ nTKT:”之后的前3个数字? In this example, I want to get is "110". 在这个例子中,我想得到的是“ 110”。 Exclude Matcher,Pattern and Other String method like indexOf(). 排除Matcher,Pattern和其他String方法(如indexOf())。 Because I found the Regex include "?:","?<",but I have tried but failed,something like": 因为我发现正则表达式包含“?:”,“?<”,但是我尝试了但失败了,例如“

      replaceAll(".+\nTKT:(?=[\\d{3}])\\d{10}.+","");

Thanks in advance.I just know some basic use for Regex. 预先感谢。我只知道Regex的一些基本用法。

或者,您也可以replaceAll(".+\\nTKT:(\\\\d{3})\\\\d{10}.+", "$1");

Instead of replacing,you should match it 而不是替换,您应该匹配它

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM