首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

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

2012-06-04 
阿宝,麻烦解释下这个正则这是你写的 , 看不懂 , 求详解Java codeString[] arr {I.[21231853:680492]smp

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

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已经解释了

热点排行