黑马程序员技术交流社区

标题: 帮我看看这个正则表达式有什么问题 [打印本页]

作者: 李东城    时间: 2013-2-11 14:57
标题: 帮我看看这个正则表达式有什么问题
  1. while ((rec = br.readLine()) != null) {
  2.                                 Pattern pCells = Pattern
  3.                                                 .compile("(\"[^\"]*(\"{2})*[^\"]*\")*[^,]*,");
  4.                                 Matcher mCells = pCells.matcher(rec);
  5.                                 System.out.println("mCells==============>"+mCells);
  6.                                 List<String> cells = new ArrayList<String>();//每行记录一个list
  7.                                 //读取每个单元格
  8.                                 while (mCells.find()) {
  9.                                         str = mCells.group();
  10.                                         str = str.replaceAll(
  11.                                                         "(?sm)\"?([^\"]*(\"{2})*[^\"]*)\"?.*,", "$1");
  12.                                         str = str.replaceAll("(?sm)(\"(\"))", "$2");
  13.                                         cells.add(str);
  14.                                 }
  15.                                 listFile.add(cells);
  16.                         }
复制代码
我是用来读取文本中的数据的,
文本的行是这样的:
ip,status,roomid,mac,description
169.122.13.23,inactive,123,23:42:34:23:42:34,TT0

读出来的却是这样的
ip,status,roomid,mac
169.122.13.23,inactive,123,23:42:34:23:42:34

经过正则处理以后最后一列不见了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2