Java正则表达式怎么提取相关内容

/src/234234/resources/datax/test/job/DataXJob-20220815153358.json 正则表达式怎么提取出 20220815153358

String pattern = "[0-9]{14}";

不一定非要用正则表达式,直接用代码处理更好,更利于理解维护。

  1. 先获取文件名DataXJob-20220815153358
  2. 再用split进行拆分就可以获取到20220815153358

直接代码处理
1、用split使用“-” 进行分隔
2、获取最后一个元素 去除.json

int leng = "20220815153358".Length;//获取这个编码的长度
string ad = "/src/234234/resources/datax/test/job/DataXJob-20220815153358.json";
string codeno = ad.Substring(ad.IndexOf(".", 0)- leng, leng);//拿到.的位置,然后再拿前端的长度
C#写法,可以参考

如果前后固定为
/src/234234/resources/datax/test/job/DataXJob-**************.json
可以直接使用split切割出,或者使用replace将前后的替换成空字符串

  • split
String str ="/src/234234/resources/datax/test/job/DataXJob-20220815153358.json";
String strNew = str.split("\\.")[0].split("-")[1];
System.out.println(strNew);

img

  • replace
String str ="/src/234234/resources/datax/test/job/DataXJob-20220815153358.json";
String strNew = str.replaceAll("/src/234234/resources/datax/test/job/DataXJob-","")
                              .replaceAll("\\.json","");
System.out.println(strNew);

img