请问正则高手,
Pattern pCells = Pattern.compile("(\"[^\"]*(\"{2})*[^\"]*\")*[^,]*,");这句话表达的意思是什么哦 看不太懂哦  ( ⊙ o ⊙ )

解决方案 »

  1.   

    第一个引号和最后一个用来表示这个正则表达式的,因为compile的参数是String的
    其余的引号前都有\,是用来转义引号的,也就是说这个正则里面包含有引号,还不止一个
    中括号是用来分组的,^表示行的开头,对字符表示不存在,*表示0个或多个
    (\"[^\"]*(\"{2})*[^\"]*\")*
    这部分表示这个正则匹配0个或多个(),()里的内容是这样
    \"是引号,[^\"]*表示要不存在0个或多个",要有0个或多个(\"{2})*表示存在0个或多个有两个"的匹配
    ...
    分析不出整体式干嘛的,正则没学好
    等高手来
      

  2.   

    Pattern pCells = Pattern.compile("\\s{2}\"{2}\\s{2}");
      

  3.   

    "1""2"3,1和2不能是"
    3不能是,
    的字符串(1,2,3指位置)
    """",   OK
    "xx""xx"x, OK
    ""x""x, NO
    ,       OK
      

  4.   


    我从文件中读取文本:洲际酒店(杭州),"1,388",538,100,含双早,杭州益乐路39号,"""Yile Road 39, Hangzhou, Zhejiang Province"""
    解析结果是浙江米兰洲际酒店(杭州),, "1,388",, 538,, 100,, 含双早,, 杭州益乐路39号,, :"""Yile Road 39,,  Hangzhou,而我想要的结果是:
    浙江米兰洲际酒店(杭州),, "1,388",, 538,, 100,, 含双早,, 杭州益乐路39号,, """Yile Road 39,,  Hangzhou,Zhejiang Province"""可是:Zhejiang Province""" 却丢了,该怎么解决呢   谢谢咯 O(∩_∩)O~
      

  5.   

    Zhejiang Province后少个逗号,所以匹配不到
      

  6.   


     while (mCells.find()) {   
                       str = mCells.group();   
                       cells.add(str);   
                   }   
                   System.out.println(cells);
    就这样运行之后 Zhejiang Province""" 没有哦  加个逗号还 """ 还是没有出来  而且 文本中有百万条记录呢 加个逗号的方法也不可取哦
      

  7.   


    Matcher m = Pattern
    .compile("(\"[^\"]*(\"{2})*[^\"]*\")*[^,]*,")
    .matcher(
    "洲际酒店(杭州),\"1,388\",538,100,含双早,杭州益乐路39号,\"\"\"Yile Road 39, Hangzhou, Zhejiang Province\"\"\",");
    while (m.find())
    System.out.println(m.group());
    //result
    洲际酒店(杭州),
    "1,388",
    538,
    100,
    含双早,
    杭州益乐路39号,
    """Yile Road 39, Hangzhou, Zhejiang Province""",
      

  8.   


    洲际酒店(杭州),\"1,388\",538,100,含双早,杭州益乐路39号,\"\"\"Yile Road 39, Hangzhou, Zhejiang Province\"\"\","洲际酒店(杭州),"1,388",538,100,含双早,杭州益乐路39号,"""Yile Road 39, Hangzhou, Zhejiang Province""","在同时做java的String的时候还有什么不同吗   下面一句是直接从文本中读取得到   但是 执行结果却不同哦
      

  9.   

    嗯,谢谢咯,终于找到原因咯 O(∩_∩)OO(∩_∩)O~~