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

请帮忙解决一个正则表达式!该如何处理

2013-11-13 
请帮忙解决一个正则表达式!现有文本文件内容:[HEAD]01|20131111|E32423|324324|983|983|459[AAA]110101|34

请帮忙解决一个正则表达式!
现有文本文件内容:
[HEAD]
01|20131111|E32423|324324|983|983|459
[AAA]
110101|34234|3412134|111
110102|33534|343255|222
[BBB]
110101|34234|3412134|111
110102|33534|343255|222
[SITRBEND]

通过字符流获取后得到以下字符串:
[HEAD]\r\n01|20131111|E32423|324324|983|983|459\r\n[AAA]\r\n110101|34234|3412134|111110102|33534|343255|222\r\n[BBB]\r\n110101|34234|3412134|111\r\n110102|33534|343255|222\r\n[SITRBEND]\r\n

将该字符串按标签用正则表达式分段为:
string[0]=[HEAD]\r\n01|20131111|E32423|324324|983|983|459\r\n
string[1]=[AAA]\r\n110101|34234|3412134|111110102|33534|343255|222\r\n
string[2]=[BBB]\r\n110101|34234|3412134|111\r\n110102|33534|343255|222\r\n
string[3]=[SITRBEND]\r\n
[解决办法]


public static void main(String[] args) {
String str = "[HEAD]\r\n01
[解决办法]
20131111
[解决办法]
E32423
[解决办法]
324324
[解决办法]
983
[解决办法]
983
[解决办法]
459\r\n[AAA]\r\n110101
[解决办法]
34234
[解决办法]
3412134
[解决办法]
111110102
[解决办法]
33534
[解决办法]
343255
[解决办法]
222\r\n[BBB]\r\n110101
[解决办法]
34234
[解决办法]
3412134
[解决办法]
111\r\n110102
[解决办法]
33534
[解决办法]
343255
[解决办法]
222\r\n[SITRBEND]\r\n";
String arr[] = str.split("(?<!^)(?=\\[.*?\\])");
for(int i=0;i<arr.length;i++){
System.out.println(">>>>>>>>>>>>>>>>>>>>>>");
System.out.println(arr[i]);
}
}

热点排行