读书人

阿宝麻烦解释下这个正则,该如何解决

发布时间: 2012-06-04 14:48:03 作者: rapoo

阿宝,麻烦解释下这个正则
这是你写的 , 看不懂 , 求详解

Java code
String[] arr = {"I.[21231853:680492]smpp_TAQ:_13189867588_1_aaaaaaaa_J2012052123360846583",                "I.[21231853:861244]smpp_TUQ:_JFK20120521510548945_13249852861_1_aaaaaaaa_3000_0_N_2012-05-21 23:36:08_511201167443476"};for (String s : arr) {    //替换后分割,sa[0],sa[1]就是LZ所需要的    String[] sa = s.replaceAll(".*?\\[(\\d+:\\d+)\\].*?(J[A-Z]*\\d+).*", "$1,$2").split(",");     System.out.printf("first=%s, second=%s\n", sa[0], sa[1]);}


[解决办法]
提取两种数据:
一:提取中括号中的 0000:0000格式的数据
二:提取紧跟第一种数据后的以J开头的字母+纯数字的数据

$1 与 $2 表示正则表达式中,第一个括号与第二个括号中的匹配数据
[解决办法]
1L已经解释了

读书人网 >J2EE开发

热点推荐