# -*- coding: utf-8 -*-
"""
Created on Mon Jun 12 14:20:30 2017

@author: Administrator
"""
import re
def  MainCut2(Content):
    def Cut2_All_Judgment(x):
        Rex="判决如下|判决:|改判如下:|判决[一-龥]*:"
        x1=x.split("\n")
        st=""
        xm=""
        flag=False
        for j in x1:
            xm+=j+"\n"
            x2=re.search(Rex,j)
            fx=re.search("判决[^。，；]*(附图|附页):",j)
            if x2  and not fx:
                st=j+"\n"
                flag=True
            else:
                st+=j+"\n"
        x=xm.replace(st,"")
        return x,st,flag
    """
    处理
    """
    def Deal2_1(i):
        l_temp=[]
        temp=i[1]
        l_temp.append(i[0])
        x=Stander(temp)
        x1,temp,Flag=Cut2_All_Judgment(x)
        if Flag:
            rex="(诉讼请求为:|诉称:|辩称:|请求:|请求判决:|请求判决如下|请求判令:|请求法院(判令|判决)|^[\n]{,1}[^\n]{,20}不服)"
            rex_="(诉讼请求为:|^[一-龥，、]*原告[一-龥]*诉称|^[^。]*向[一-龥]+院提起上诉称:|^[^。，,]{,20}称:|^[^。]*辩称:|^[^。]*诉(讼|)称:|请求:|请求判决:|请求判决如下|^[^。]*反诉称:|请求判令:|请求法院判令[一-龥]+:|请求法院判令:)"
            x20=re.search("(^.*\n)((综上|关于赔偿数额)[^\n]*(判决:|判决如下|原审法院依照《最高人民法院)[^\n]*\n|原审法院依照《中华人民[^\n。]*(判决:|判决如下)[^\n]*\n)",x1,re.S)
            Rex20=re.search("综上[^\n]*作出\([0-9]+\)[^。，,\n]*行政判决[^。\n，,]*[,，](判决:|判决如下)",x1,re.S)
            x2=re.search("(^.*?\n)(((综上[^\n]*依[照据]{1}《中华人民共和国[^\n]*(受理费|诉讼请求不予支持|承担连带))|(综上|根据|依照|据此|[一-龥]+法院)[^\n]*(判决:|判决如下)|([原一]{1}审法院遂依照)[^\n]*《[^\n]*(判决:|判决如下)|[一原]{1}审法院(遂|)判决:|[一原]{1}审法院据此(判决:|判决如下))[^\n]*\n)",x1,re.S)
            x21=re.search("(^.*?\n)([^\n]*(判决:|判决如下|原审法院据此判决:|原审法院判决:|一审法院判决:)[^\n]*\n)([^\n。]*(不服|判决后|宣判后|原审判决后，|一审宣判后，|如果被告未按本判决|上诉称:|向本院提起上诉，))",x1,re.S)
            x3=re.search("""(^.*\n)((([一原]{1}审法院认为|本院认为)[^\n]*(判决:|判决如下)|[^\n]*[一原]{1}审法院(遂|)判决:|[一原]{1}审庭审中[^\n]*(判决:|判决如下)|(因此|)[.]{1}[原一]审法院(据此|)(依|根|跟)(照|据)[^\n]|[^0-9a-zA-Z\n。]*法院(跟|根|依)(照|据))[^\n]*[\n])""",x1,re.S)
            x4=re.search("(^.*?\n)(((综上|原审法院判决认为)[^\n]*[依根据]{1}[此照据]{1}《中华人民共和国[^\n]*(案件受理费|判决驳回)|[^\n]*(判决:|判决如下)|[一二三四五六七八九十]{1}、[^\n]*(判决:|判决如下)|[^\n]*(综上|据此|根据)[^\n]*(判决:|判决如下))[^\n]*\n)",x1,re.S)
            x5=re.search("(^.*?\n)([^\n]*(遂|，|,)判决[^\n]*\n)([^\n。]*不服|判决后|宣判后|上诉称:)",x1,re.S)##这个是根据书第二段进行区分
            rex4_=re.search("(^.*?\n)(([原一]{1}审法院判决认定:[^\n]*据此.原审法院依照《中华|[^\n]*判决如下[^\n]*|[^\n]*受理费[^\n]*|[^\n]*(综上，原审法院判决|原审法院判决|法院判决如下|综上，原审法院依照《中华人民共和[^。]*判决:|[^\n]*《中华人民共和国[^。]*，判决[^。]{1}|判决驳回|[^\n]*综上[^\n]*判决|综上，原审法院依据《中华人民共和国[^。]*(判令|判决)[^。]*|综上，依据《中华人民共和国[^\n]*判决|[，,]{1}判决[^\n]*)|[^。，,]{,10}法院判决认定[^\n]*(根|依|跟)(据|照)[^。]*判决[^\n]* |综上，原审法院判决:|[原一]审法院[^。]{,10}判决[^\n]*|判决:|判决如下|据此[^。]*(判决[^\n]*|判令上诉人向被上诉人赔偿经|据此判决:|依据《[^。]*判决:))[^\n]*[\n])",x1,re.S)
            rex_4=re.search("(^.*?\n)([^\n，,。、；:]*法院判决认定[^\n](判决|判决如下)[^\n]*\n)",x1,re.S)
            rex__=re.search("(^.*?\n)(据此，[^\n]*依照《中华[^\n]*原审法院判决[^\n]*\n)",x1,re.S)
            if x2 or x3 or x4 or rex4_:
                if x20 and not Rex20:
                    l_temp.append(x20.group(1))
                    l_temp.append(x20.group(2))
                    x3=x1.replace(x20.group(),"")
                    l_temp.append(x3)
                    l_temp.append(temp)
                    l_temp.append(0)
                    return True,tuple(l_temp)
                elif x2 and not (re.search(rex_,x2.group(2),re.S)) and '政判决书,判决:' not in x2.group(2):
                    l_temp.append(x2.group(1))
                    l_temp.append(x2.group(2))
                    x3=x1.replace(x2.group(),"")
                    l_temp.append(x3)
                    l_temp.append(temp)
                    l_temp.append(1)
                    return True,tuple(l_temp)
                elif x21 and not (re.search(rex_,x21.group(2),re.S)):
                    l_temp.append(x21.group(1))
                    l_temp.append(x21.group(2))
                    x3=x1.replace(x21.group(1),"")
                    x3=x3.replace(x21.group(2),"")
                    l_temp.append(x3)
                    l_temp.append(temp)
                    l_temp.append(2)
                    return True,tuple(l_temp)
                elif x3 and not (re.search(rex_,x3.group(2),re.S)):
                    l_temp.append(x3.group(1))
                    l_temp.append(x3.group(2))
                    x3=x1.replace(x3.group(),"")
                    l_temp.append(x3)
                    l_temp.append(temp)
                    l_temp.append(3)
                    return True,tuple(l_temp)
                elif x4 and not (re.search(rex_,x4.group(2),re.S)):
                    l_temp.append(x4.group(1))
                    l_temp.append(x4.group(2))
                    x3=x1.replace(x4.group(),"")
                    l_temp.append(x3)
                    l_temp.append(temp)
                    l_temp.append(4)
                    return True,tuple(l_temp)
                elif rex4_ and not (re.search(rex_,rex4_.group(2),re.S)) and "原审法院判决查明:" not in rex4_.group(2):
                    l_temp.append(rex4_.group(1))
                    l_temp.append(rex4_.group(2))
                    x3=x1.replace(rex4_.group(),"")
                    l_temp.append(x3)
                    l_temp.append(temp)
                    l_temp.append(5)
                    return True,tuple(l_temp)
                 ###
                elif rex_4:
                    l_temp.append(rex_4.group(1))
                    l_temp.append(rex_4.group(2))
                    x3=x1.replace(rex_4.group(),"")
                    l_temp.append(x3)
                    l_temp.append(temp)
                    l_temp.append(6)
                    return True,tuple(l_temp)
                ###不服数据的数量
                elif x5 and not (re.search(rex,x5.group(2),re.S)):
                    l_temp.append(x5.group(1))
                    l_temp.append(x5.group(2))
                    x3=x1.replace(x5.group(1),"")
                    x3=x3.replace(x5.group(2),"")
                    l_temp.append(x3)
                    l_temp.append(temp)
                    l_temp.append(7)
                    return True,tuple(l_temp)
                elif rex__ and not (re.search(rex,rex__.group(),re.S)):
                    l_temp.append(rex__.group(1))
                    l_temp.append(rex__.group(2))
                    x3=x1.replace(rex__.group(),"")
                    l_temp.append(x3)
                    l_temp.append(temp)
                    l_m.append(8)
                    l_temp.append(8)
                    return True,tuple(l_temp)
                else:
                    #l_11.append(x1)
                    return False,tuple(['wrong'])
            else:
                return False,tuple(['wrong'])
        else:
            #l_t.append(temp)
            return False,tuple(['wrong'])
        return False,tuple(['wrong'])

    """
    1)文书落款
    """
    def Cut2_Inscribe(x):
        x1=re.search("(^.*?\n)([^\n]*(审判长|审判员|陪审员|书记员|法官助理|速记员|速录员).*)",x,re.S)
        if x1:
            x2=x1.group(2)
            x1=x1.group(1)
        else:
            x1=x
            x2=""
        return  x1,x2
    """
    1)判决依据
    2)判决主文
    3)判决尾部
    """
    def Cut2_judgment(x):
        x1=re.search("(^.*(依照《[^\n。]*规定:\n|判决如下|判决:)(:|))(.*?\n)([^\n]*(本案诉讼费|如未按(本|)判决|受理费|如不服|可以在判决书送达之日起|诉讼费[^\n]*由[^。\n]*[负承]{1}担).*)",x,re.S)
        x2=re.search("(^.*(依照《[^\n。]*规定:\n|判决如下|判决:)(:|))(.{3,})",x,re.S)
        if x1:
            x3=x1.group(5)
            x2=x1.group(4)
            x1=x1.group(1)
        elif x2:
            x3=x2.group(1)
            x2=x.replace(x3,"")
            x1=x3
            x3=""
        else:
            x3=""
            x2=""
            x1=x
        return  x1,x2,x3
    ###
    def to_sub3(content):
        x1,x=Cut2_Inscribe(content)
        x1,x2,x3=Cut2_judgment(x1)
        return [x1,x2,x3,x]
    """
    再次切分
    """
    def deal2_repeat1(x):
        m=[]
        x1=re.search("(^[^。]*(本院认为|综上所述|综上).*。)([^。]*(判决:|判决如下).*)",x,re.S)
        x2=re.search("(^.*。)([^。]*(依照|依据|据此).*(判决|判决如下)[:]{,1}.*)",x,re.S)
        if x1:
            x2=x1.group(1)
            x1=x1.group(3)
            m.append(x2)
            m.append(x1)
        elif x2:
            x1=x2.group(1)
            x2=x.replace(x1,"")
            m.append(x1)
            m.append(x2)
        else:
            m.append(x)
        return  m
    """
    一审判决结果
    """

    def deal2_repeat2(x):
        m=[]
        x1=re.search("(^.*(判决:|判决如下)[:]{,1})(.*)",x,re.S)
        x2=re.search("(^.*(依照|据此|依据|根据)((?!(判决)).)*判决)(.*)",x,re.S)
        x3=re.search("(^.*(依照|据此|依据|根据)((?!(如下:|规定,判令)).)*(如下:|判令))(.*)",x,re.S)
        if x1:
            x2=x1.group(3)
            x1=x1.group(1)
            m.append(x1)
            m.append(x2)
        elif x2:
            x1=x2.group(1)
            x2=x.replace(x1,"")
            m.append(x1)
            m.append(x2)
        elif x3:
            x1=x3.group(1)
            x2=x.replace(x1,"")
            m.append(x1)
            m.append(x2)
        else:
            m.append(x)
        return m
    """
    分段下
    上诉人诉称、被上诉人辩称、二审查明、二审本院认为、判决依据、判决主文、判决尾部、落款

    """

    def Deal_to_page2(i):
        rex21="(^[^。,、]{,5}不服，以专利复审委员会认|一审判决后,[^。]*提起上诉。|^[^。，]{,10}上诉理由为|^[^。]{2,10}公司以原审判决[^。]*向本院提起上诉,请求改判|^[^。，]{2,10}向本院提起上诉,请求改判|^[^。]*公司上诉认为,|^.{,5}公司不服,上诉认为|^法院提出上诉|^上诉人认为|^上诉人[^。，、]{,10}称|^[^。]{,10}{}不服，请求撤销原审判决|不服.*其上诉理由为:|^上诉请求[及和]{1}理由|二审(审理|)期间，上诉人提交了|上诉人[^。,，]*陈述为:|^判决后[^。]{,30}不服|提[起出]{1}上诉，请求依法改判|^[^。]{,20}公司向本院提起上诉|^[^。]{,30}公司上诉认为，|提起上诉，请求依法改判|向本院提起上诉，主要上诉理由是:|^上诉人[^。]*要求二审法院|上诉请求撤销.*上诉理由:|(向本院提起上诉|不服[原一]审判决).*(理由为:|理由如下:)|法院再审过程中，原审原告[^,，。]*称:|不服原审判决，上诉(至本院|请求)|上诉人[^。，,]*称:|不服原审判决，向本院上诉|(宣判后|一审判决宣告后).*(不服|提[出起]{1}上诉).*(其理由[为是]{1}:|)|提起上诉.*上诉理由为:|不服，上诉认为|^上诉人[^。]*提出|不服[^。]*提[出起]{1}上诉|向本院提出上诉.*其上诉请求是:|向本院提起上诉，请求改判|上诉提出:|不服[原一]{1}审判决[^。]*称:|二上诉人共同上诉请求|不服原审判决[^。]*提(起|出)上诉|二审庭审时称:|不服上述判决，向本院上诉.*理由是:|^原审法院判决后[^。]*不服提起上诉|不服原审法院判决.*上诉理由为:|上诉至本院.*理由为:|不服.*上诉理由是:|诉至一审法院称|宣判后[,，]{1}[一-龥]+提起上诉|^上诉请求和理由:|不服[^。]*向本院提起上诉|宣判后[^。]*其主要上诉理由为:|^[^。]*不服(原审|)判决，向本院提起上诉|请求判决:|^[^。]*不服判决，向本院提起上诉|^(原审|一审|)(判决后|宣判后|判决宣判后)[^。]*不服[^。]*(上诉|诉至本院|诉讼请求:)|上诉人[^。]*法院，请求判令.{,3}被告|^[^。]*上诉请求，撤销|向本院提出上诉:|上诉请求[^。]*.事实和理由:|^[^。]*诉至法院，请求判令|诉讼请求为，判令[一-龥]{,5}被告:|^上诉人[^。]*请求|向原审法院提起诉讼，请求:|请求法院:|上诉请求均为:|^[^。：；;:a-zA-Z]{,10}上诉请求.*(事实和理由|上诉理由为):|上诉认为:|起诉请求:|请求依法判令:|^[^。，：；;:a-zA-Z]*诉讼请求为，判令|^[^。，：；;:a-zA-Z]*不服一审判决|^[^。，,;:；]{,5}公司上诉请求|诉请法院判令:|^[^。，;：、？,]*公司上诉理由:|原审诉请判令:|提起诉讼，请求法院判决[一-龥、]+:|起诉，请求依法判令:|诉至[一-龥]+法院称:|诉至[原一]{1}审法院(，|)称:|^[^。]*提起诉讼请求判决|^[^。]*诉至原审法院，要求法院判令|^[^。]*请求原审法院判令|^[^。]*诉至原审法院，请求判令|^[^。]*向原审法院起诉，请求判令|^[^。]*向原审法院提起本案诉讼，请求判令|起诉称:|公司上诉请求:|上诉请求为:|上诉请求二审法院:|[^。]*上诉请求，如下:|[^。]*上诉请求撤销一审判决|^[^。]*不服[^。，,]*提起(行政|)诉讼|恳请人民法院查明事实，依法判决二被告|^[^。]*上诉请求:|^[^。]*，请求:|^[^。]*请求一审法院:|^[^。]*诉讼请求是:|^[^。]*诉至一审法院称|^[^。]*原审法院起诉[，,]请求:|^[^。]*起诉至[原一]{1}审法院称:|^[^。]*向[一原]{1}审法院起诉请求:|^[^。]*向[原一]{1}审法院提起诉讼|^原告诉请|请求原审法院判令:|^[^。]{,30}诉讼[.]{1}称|不服[^。]{,10}(裁|决)定[^。]{,10}向[^。]{,20}诉讼称|原告[^。]{,30}诉(讼|)称|诉讼请求为:|诉讼请求:|[^。，]{,10}向本院起诉要求:|原告[^\n。]{,30}(起诉认为|请求判令|诉称|诉讼请求|起诉请求)|诉称:|提出诉讼请求|请求判令:|请求.院判令|请求判令[^。，；]{,10}:|公司诉称|诉称|诉讼称|提出[^。，]{,5}诉讼请求})"
        rex22="(^[^。]*[^不。]{1}服从原审判决|^被上诉人[^。,，、]*服从|^[^。，]{,30}(专利复审|商标评审)[^。\n]*服从[^。，、]{,2}判决|^[^。，]*面答辩意见称|被上诉人[^。]*提交答辩|被上诉人[^。]*答辩:|被上诉人[^。，,]*意见认为:|.*据此，被上诉人[一-龥]+请求本院|被上诉人[^。]*主要理由|^[^。]*答辩认为:|被上诉人[^。]{,20}(坚持|认为)[^。]{,20}(认定|意见)|^[^。；]{,30}(辩称|辨称|答辩|答辨|反诉称)|被告[^。]{,30}对原告所诉事实|被告对原告主张|被上诉人[^。]{,30}(没有到到庭|拒不到庭)|(被告|公司)[^。，](放弃抗[辨辩]{1}|未答[辩辨]{1}|未提出答辩意见))"
        rex23="^二审第一次庭审中[^。]*证据:|^本院审理过程中[^。]*证据:|^[^。]*为支持其上诉主张,在二审中提交|^二审审理期间,上诉人提交|^[^。，]{,10}在二审期间提供如下证据:|原审法院判决后,双方当事人均未上诉|^二审庭审中|^二审审理期间,上诉人提交[^，。](材料|证据)|^本案二审中[^。]*提供了证据|^[^。]{,20}在二审期间向本院提交了如下证据:|^本院在二审期间[^。]*提交.{,1}证据|本院[^。]*予以确认|^本院.*查明如下事实:|经开庭审查，本院认可|本院[^。，、？]*证据予以确认|二审诉讼中均未向本院提交|二审诉讼中[^。]*均未向本院提交|二审[^，。、，]*均未提[交供]{1}|二审[^。]*均未提交|二审时均未提交证据|^[^。]*二审期间[^。]*双方当事人[^。，]*提交|双方当事人在二审期间均未提交新证据|^[^。]{,30}(二审庭审中，(原、被告|)当事人双方均未提交|本案二审期间，双方当事人提供以下证据:|本案二审期间.*质证|二审举证期限内|本院审核.*对原判认定的事实予以确认|质证意见:|当事人[^。，：；、]*送至本院|^在二审过程中[^。]*向本院提交了|^本案在二审审理期间|.*二审期间均未提供新证据|.*本院[^。，,;:：、]*事实予以确认|在二审期间，向本院提交|本院经审查|二审经庭审查明|.*本院二审予以确认|.*本院对原审法院查明的事实予以确认|本案二审中.*提交新证据|二审确认一审查明的案件事实属实|本案在审理过程中|^二审诉讼过程|本院二审|.*经审查，一审判决认定的事实|本院经二审审理|.*本院予以确认|^对原审判决所查明|^经本院查明|^在二审(庭审|审理期间|期间)|^二审(中|期间)|本院经过审理|一审判决认定[^。]*本院依法予以确认|本院[^。]*对一审查明的事实|据上，本院二审认定:|本院认定的事实与[一原]{1}审认定的事实|.*经查，|.*其余查明事实与原审查明基本一致|经质证|.*二审查明|对原审判决所确认的法律事实[^。]*故本院[一-龥]+确认。|.*经本院审查|.*本院评判如下:|.*本院分析认定如下:|.*经庭审质证|经二审法院开庭审理，查明|二审所查明|.*另查明:|一审查明的事实属实，本院予以确认|.*本院对原判认定的事实予以确认|.*本院根据[^。]*认定:|^.{,1}本院[二庭]{1}审查明|.*二审查明的事实与原判认定一致|本案审理[^。]*本院予以确认|二审查明的事实与原判认定一致|.*本院审理查明的其他事实与原审判决认定事实基本一致。|根据原审及二审[^。]*本院确认原审法院认定的事实属实。|对原判认定的事实[^。]*本院予以确认。|本院经查|经[一-龥、]+质证|本院经审理后查明|本院认证如下|本院另查明|^本院经审查认为|^[^。]*经上述举证、质证，本院审查认为|^原审法院经审查查明|.*判决所认定的基本事实是:|原审法院审理查.{,2}:|[一原]{1}审判决查明:|[一原]{1}审查明[，,:]{1}|^[原一]{1}审法院经审查查明:|.*判决查明以下事实:|^.{,3}原判认定:|^原审主要查明，|原审法院认证认为:|^[一-龥]+提交证据查明:|原判确认以下案件事实:|一审查明事实如下:|^原审判决确认:|^[一-龥]*一审查明:|^原审法院根据对证据的分析认证，认定事实如下:|^一审判决查明法律事实如下:|^查明，|^原审判决查明[^。、？,a-zA-Z，；：;:]{,10}:|^原判决认定的基本事实是:|^原审法院经查明|^[一-龥]+法院/([一-龥]+/)审理查明|^原判决查明:|[原一]{1}审法院审理过程[^。]*经[一-龥]*质证:|[原一]{1}审法院根据[一-龥、]+，依法查明以下事实:|^原审判决查明:|^一审法院认定事实:|^[一-龥]法院认定:|^原审法院经查明:|^原审法院认定:|^原判确认的法律事实是:|^[一-龥]+法院\([0-9]+\)[一-龥]+第[0-9]+号[一-龥]+判决认定:|^[一原]{1}审判决查明，|^原审法院确认事实如下:|^原审法院根据[一-龥、]+提交的证据认定:|^原审法院确认如下法律事实:|^[一-龥\(\)]+审理后认定:|^北京市第一中级人民认定:|.*原审均认定:|^原初审认定|[^。]*，故二审予以确认:|^原审法院确认的法律事实是:|^[原一]{1}审法院[^，。,;]*以下事实无异议:|^原判查明|^[原一]{1}审认定|^[原一]{1}审查明|^[一-龥\(\)]+法院[一-龥\(\)]*判决查明|^[一-龥\(\)]+法院[一-龥\(\)]*审理认定|^[原一]{1}审法院判决查明|^[原一]{1}审法院经确认事实|^[原一]{1}审法院审理认定|^[原一]{1}审判决认定|^[原一]{1}审判决审查认定|[一原]{1}审期间[一-龥\(\)，,]+原判予以认定:|^[一-龥\(\)]+法院查明|^[一-龥\(\)]+法院[一-龥\(\)]*判决认定|^[原一]{1}审法院查明|^原审法院根据[^。]*(举证|庭审质证|法庭认证)[^。]*认定以下事实:|^[一-龥]+审理查明|^查明以下案件事实|^经庭审质证|^还查明,|本院对案件事实认定如下|^本院确定以下与本案有关的事实|^本院对本案证据认证如下|^查明以下事实|^根据[^。]{,30}(陈述|证据),本院(确认如下事实|认定事实如下|^认定如下事实|确认事实如下)|^查明:|^本院经查|^本院依法认定本案事实如下|^本院确认本案事实如下|本院根据上述[^。]{,30}确认以下事实|经审理|^本院经查|^根据上述[^。]{,30}本院确认以下事实|^经审理查明|^经庭审[^。，]{,5}比对|^一审查明|^经审查(?!(,本院认为|，本院认为))+|^本院查明|^另查明|^本院审理查明|^本案相关事实|^[^。]{,30}本院(确认如下事实|认定事实如下|认定如下事实|确认事实如下))"
        Rex24="(焦点:|争议的焦点[，,]本院评析如下:|本案(二审|)(的|)(主要|)(争议|涉及)(的|)焦点|根据.*本案争议焦点|争议焦点.*分析认定如下:|本院认为本案争议的焦点|本案的争议焦点问题|争议(的|)焦点[^。，：；？]*:|^本院认为|焦点(为|是|如下|即为|问题|问题是|问题为):|本院认为:|主要争议问题是:)"
        rex24="^.{,30}(本案(二审|)(的|)(主要|)(争议|涉及)(的|以下)焦点|根据.*本案争议焦点|本院认为:|^本院认为|.*主要争议问题是:|.*双方当事人在二审中[^。,;：；:]*向本院提交|^根据.*认定事实正确|本案争议的关键问题是|本院经审理认为:|关于争议焦点|.*二审争议焦点即为:|.*本案的争议焦点在于|.*本院认为|.*二审的争议焦点即为:|本案的争议焦点[^。，]*:|.*焦点(在于|是|为|如下|归纳为:|问题是)[:,，]{1}|.*争议(的|)焦点(如下:|是|为|如)|本案的主要争议焦点|.*争议的焦点为:|.*本案诉讼争议的焦点是:|.*本案二审的争议焦点在于:|^本院再审认为|.*争议焦点(为|是|):|综合[一-龥]+上诉理由及答辩意见,[一-龥]+争议焦点为:|^本院认为:|^原审法院经审理认为:|^根据上述事实，一审法院认为:|^原初审认为|^[一-龥\(\)]+法院[一-龥\(\)]*判决认为|[^。]*法院经审理认为:|^[一原]{1}审法院审理认为|^[一原]{1}审判决认为|^[一-龥\(\)，,]*一审法院经审理认为|^[一-龥\(\)]+法院判决认为|法院一审认为|本院认证认为|本院认为|[一原]{1}审认为|^[原一]{1}审法院认为|^原判认[定为]{1}|^[一-龥]+法院认[定为]{1})"
        start=0
        one_pg=1
        two_pg=2
        thr_pg=3
        fou_pg=4
        K={"1":rex21,"2":rex22,"3":rex23,"4":rex24}
        x=i[3]
        temp=x.split("\n")
        state=start
        st=""
        l=[]

        num=0
        st=""
        num=1
        for j in temp:
            x=K[str(num)]
            x1=re.search(x,j)
            if state==start:
                 x1=re.search(rex21,j)
                 x2=re.search(rex22,j)
                 x3=re.search(rex23,j)
                 x4=re.search(rex24,j)
                 X4=re.search(Rex24,j)
                 if x1:
                     l.append(st)
                     st=j+"\n"
                     state=1
                 elif x2 and not X4:
                     l.append(st)
                     st=j+"\n"
                     state=2
                     l.append('')
                 elif x3 and not X4:
                    l.append(st)
                    st=j+"\n"
                    state=thr_pg
                    l.extend(['',''])
                 elif x4 or X4:
                    l.append(st)
                    st=j+"\n"
                    state=fou_pg
                    l.extend(['','',''])

                 else:
                     st+=j+"\n"
            elif state==one_pg:
                x2=re.search(rex22,j)
                x3=re.search(rex23,j)
                x4=re.search(rex24,j)
                X4=re.search(Rex24,j)
                if x2 and not X4:
                    l.append(st)
                    st=j+"\n"
                    state=two_pg
                elif x3 and not X4:
                    l.append(st)
                    st=j+"\n"
                    state=thr_pg
                    l.append('')
                elif x4 or X4:
                    l.append(st)
                    st=j+"\n"
                    state=fou_pg
                    l.append('')
                    l.append('')

                else:
                    st+=j+"\n"
            elif state==two_pg:
                Rex23=re.search("^上诉人[^。，]*(提交|证据|证明)",j)
                x3=re.search(rex23,j)
                x4=re.search(rex24,j)
                X4=re.search(Rex24,j)
                if (x3 or Rex23) and not X4:
                    l.append(st)
                    st=j+"\n"
                    state=thr_pg
                elif x4 or X4:
                    l.append(st)
                    l.append('')
                    st=j+"\n"
                    state=fou_pg

                else:
                    st+=j+"\n"
            elif state==thr_pg:
                x4=re.search(rex24,j)
                X4=re.search(Rex24,j)
                if x4 or X4:
                    l.append(st)
                    st=j+"\n"
                    state=fou_pg
                else:
                    st+=j+"\n"
            elif state==fou_pg:
                st+=j+"\n"
        l.append(st)
        if  len(l)==5:
            l_fr=to_sub3(i[4])
            l.extend(l_fr)
        elif len(l)==4:
            l_fr=to_sub3(i[4])
            temp=l_fr[0]
            temp=deal2_repeat1(temp)
            ### 列表的操作
            if len(temp)==2:
                l_fr[0]=temp[1]
                l.append(temp[0])
                l.extend(l_fr)
            else:
                l.append('')
                l.extend(l_fr)
        elif len(l)==3:
            l_fr=to_sub3(i[4])
            temp=l_fr[0]
            temp=deal2_repeat1(temp)
            ### 列表的操作
            if len(temp)==2:
                l_fr[0]=temp[1]
                l.append('')
                l.append(temp[0])
                l.extend(l_fr)
            else:
                l.extend(['',''])
                l.extend(l_fr)
        else:
            l.append("")
        return l


    """
    处理部分特殊文书
    """
    def Deal2_TrialProcess(x):
        x1=x.split("\n")
        st=""
        for i in x1:
            if   len(i)>5 and i[len(i)-1]!="。":
                st+=i
            else:
                st+=i+"\n"
        if st=="":
            st=x
        elif st[len(st)-1]!="\n":
            st=st+"\n"
        return st
    """
    1）标题【文书号和法院】
    2）当事人信息
    3）审理经过
    4）原告诉称
    5）被告辩称
    6）审理查明
    7）本院认为
    """
    def Deal2_to_page1(i):
        import time
        now=time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
        rex1="([^0-9、]*[0-9Xx]{2,}[^0-9]{1}[^。，、]+[0-9-、Xx]+号|第[0-9]+号)"
        rex2="专利申请权纠纷一案|案由:|审理终结|审理完结|审理完毕|审理结|当庭宣告判决|依法组成合议庭|侵[害犯权]{1}[^\n。]{,30}纠纷一案|无正当理由拒不到庭|被告[^。，,]{,20}(拒|)不到庭|服务合同纠纷一案"
        rex3="(^[^。，、]{,5}不服|原告[^。]*法院，请求判令.{,3}被告|^[^。]*上诉请求，撤销|向本院提出上诉:|上诉请求[^。]*.事实和理由:|^[^。]*诉至法院，请求判令|诉讼请求为，判令.被告:|^上诉人[^。]*请求|向原审法院提起诉讼，请求:|请求法院:|上诉请求均为:|^[^。：；;:a-zA-Z]{,10}上诉请求.*(事实和理由|上诉理由为):|上诉认为:|起诉请求:|请求依法判令:|^[^。，：；;:a-zA-Z]*诉讼请求为，判令|^[^。，：；;:a-zA-Z]*不服一审判决|^[^。，,;:；]{,5}公司上诉请求|诉请法院判令:|^[^。，;：、？,]*公司上诉理由:|原审诉请判令:|提起诉讼，请求法院判决[一-龥、]+:|起诉，请求依法判令:|诉至[一-龥]+法院称:|诉至[原一]{1}审法院(，|)称:|^[^。]*提起诉讼请求判决|^[^。]*诉至原审法院，要求法院判令|^[^。]*请求原审法院判令|^[^。]*诉至原审法院，请求判令|^[^。]*向原审法院起诉，请求判令|^[^。]*向原审法院提起本案诉讼，请求判令|起诉称:|公司上诉请求:|上诉请求为:|上诉请求二审法院:|[^。]*上诉请求，如下:|[^。]*上诉请求撤销一审判决|^[^。]*不服[^。，,]*提起(行政|)诉讼|恳请人民法院查明事实，依法判决二被告|^[^。]*上诉请求:|^[^。]*，请求:|^[^。]*请求一审法院:|^[^。]*诉讼请求是:|^[^。]*诉至一审法院称|^[^。]*原审法院起诉[，,]请求:|^[^。]*起诉至[原一]{1}审法院称:|^[^。]*向[一原]{1}审法院起诉请求:|^[^。]*向[原一]{1}审法院提起诉讼|^原告诉请|请求原审法院判令:|^[^。]{,30}诉讼[.]{1}称|不服[^。]{,10}(裁|决)定[^。]{,10}向[^。]{,20}诉讼称|原告[^。]{,30}诉(讼|)称|诉讼请求为:|诉讼请求:|[^。，]{,10}向本院起诉要求:|原告[^\n。]{,30}(起诉认为|请求判令|诉称|诉讼请求|起诉请求)|诉称:|提出诉讼请求|请求判令:|请求.院判令|请求判令[^。，；]{,10}:|公司诉称|诉称|诉讼称|提出[^。，]{,5}诉讼请求})"
        rex4="(答辩认为:|被告[^。]{,20}(坚持|认为)[^。]{,20}(认定|意见)|^[^。；]{,30}(辩称|辨称|答辩|答辨|反诉称)|被告[^。]{,30}对原告所诉事实|被告对原告主张|被告[^。]{,30}(没有到到庭|拒不到庭)|(被告|公司)[^。，](放弃抗[辨辩]{1}|未答[辩辨]{1}|未提出答辩意见))"
        rex5="^[^。]{,30}(.*认定如下:|[一原]{1}审法院确认以下事实:|^一审法院对双|一审法院认定事实:|.*分析认定如下:|^原审法院经审查查明|.*判决所认定的基本事实是:|原审法院审理查.{,2}:|[一原]{1}审判决查明:|[一原]{1}审查明[，,:]{1}|^[原一]{1}审法院经审查查明:|.*判决查明以下事实:|^.{,3}原判认定:|^原审主要查明，|原审法院认证认为:|^[一-龥]+提交证据查明:|原判确认以下案件事实:|一审查明事实如下:|^原审判决确认:|^[一-龥]*一审查明:|.*认定事实如下:|^一审判决查明法律事实如下:|^查明，|^原审判决查明[^。、？,a-zA-Z，；：;:]{,10}:|^原判决认定的基本事实是:|^原审法院经查明|^[一-龥]+法院/([一-龥]+/)审理查明|^原判决查明:|[原一]{1}审法院审理过程[^。]*经[一-龥]+质证:|[原一]{1}审法院根据[一-龥、]+，依法查明以下事实:|^原审判决查明:|^一审法院认定事实:|^[一-龥]法院认定:|^.审法院经查明:|^原审法院认定:|^原判确认的法律事实是:| ^[一原]{1}审判决查明|.*确认事实如下:|^原审法院根据[一-龥、]+提交的证据认定:|^原审法院确认如下法律事实:|^[一-龥\(\)]+审理后认定:|^北京市第一中级人民认定:|.*原审均认定:|^原初审认定|[^。]*，故二审予以确认:|.*确认的法律事实是:|^[原一]{1}审法院[^，。,;]*以下事实无异议:|^原判查明|^[原一]{1}审认定|^[原一]{1}审查明|^[一-龥\(\)]+法院[一-龥\(\)]*判决查明|^[一-龥\(\)]+法院[一-龥\(\)]*审理认定|^[原一]{1}审法院判决查明|^[原一]{1}审法院经确认事实|^[原一]{1}审法院审理认定|^[原一]{1}审判决审查认定|[一原]{1}审期间[一-龥\(\)，,]+原判予以认定:|^[一-龥\(\)]+法院查明|^[原一]{1}审法院查明|^原审法院根据[^。]*(举证|庭审质证|法庭认证)[^。]*认定以下事实:|^[一-龥]+审理查明|^查明以下案件事实|^经庭审质证|^还查明,|本院对案件事实认定如下|^本院确定以下与本案有关的事实|^本院对本案证据认证如下|^查明以下事实|^根据[^。]{,30}(陈述|证据),本院(确认如下事实|认定事实如下|^认定如下事实|确认事实如下)|^查明:|^本院经查|^本院依法认定本案事实如下|^本院确认本案事实如下|本院根据上述[^。]{,30}确认以下事实|经审理|^本院经查|^根据上述[^。]{,30}本院确认以下事实|^经审理查明|^经庭审[^。，]{,5}比对|^一审查明|^经审查((?!(,本院认为|，本院认为)).)+|^本院查明|^另查明|^本院审理查明|^本案相关事实|^[^。]{,30}本院(确认如下事实|认定事实如下|认定如下事实|确认事实如下))"
        rex6="^(.{,30})(原判认定:|判决认定|主要争议焦点在于|.*原审法院审查认为，|一审争议焦点为|.*争议(的|)焦点(在于|是|为|如下|归纳为:|问题是)|一审法院认为，|.*焦点(是|如下|在于|)[:，,]{1}|双方当事人争议的焦点是|争议的焦点(问题|)为:|原审法院经审理认为:|^[一-龥\(\)]+认为[:,，]{1}|原审法院经审理认为:|^[一-龥\(\)]+法院[一-龥\(\)]*判决认定|^[一-龥]+法院\([0-9]+\)[一-龥]+第[0-9]+号[一-龥]+判决认定:|[一-龥\(\)]+法院判决认定:|^[^。]*[原一]{1}审判决认定:|.*争议焦点(为|是|):|本院认为|^原审法院经审理认为:|.*一审法院认为:|^原初审认为|^[一-龥\(\)]+法院[一-龥\(\)]*判决认为|[^。]*法院经审理认为:|^[一原]{1}审法院审理认为|^[一原]{1}审判决认为|^[一-龥\(\)，,]*一审法院经审理认为|^[一-龥\(\)]+法院判决认为|法院一审认为|本院认证认为|本院认为|[一原]{1}审认为|^[原一]{1}审法院认为|^原判认[定为]{1}|^[一-龥]+法院认[定为]{1})"
        ####给一个优先级的设定
        start=0
        first=1
        second=2
        three=3
        four=4
        four_1=5
        four_2=6
        x=i[1]
        temp=x.split("\n")
        num=0
        state=start
        st=""
        l=[]
        for j in temp:
            num+=1
            ###标题
            if state==start:
                x1=re.search(rex1,j)
                if x1:
                    st+=j+"\n"
                    ##暂时的
                    l.append(st)
                    st=""
                    state=first
                else:
                    st+=j+"\n"
            ###当事人
            elif state==first:
                 x1=re.search(rex2,j)
                 if x1:
                    l.append(st)
                    st=j+"\n"
                    state=second
                    ###审理经过
                 else:
                    st+=j+"\n"
            ###审理经过
            elif state==second:
                x0=re.search(rex3,j)###原告俗称
                x01=re.search(rex4,j)####
                x1=re.search(rex5,j)###
                x2=re.search(rex6,j)###本院认为
                ####原判认定  本院认为？还是得
                #原审法院经审理查明
                Rex5=re.search("(^经审理查明|(一|原)审(经|)(审理|)查明|原判认定|(原|一)审(法院|)(经|)(审理|)查明|一审法院[^。，,]*事实如下:|原判查明)",j)
                Rex=re.search("(原判认定:|原审判决认定:|(原|一)审法院(经|)(审理|)认定:|^经审查.{,1}本院认为|^[一-龥\(\),，]+审理认为|认为:|[一-龥\(\),，]*原审法院认为|审理认为:)",j)
                Rex_n6=re.search("^第[0-9]+号判决认为:",j)
                if x0 and not Rex5 and not Rex:
                    ###审理经过
                    st=Deal2_TrialProcess(st)
                    l.append(st)
                    st=j+"\n"
                    state=three
                elif x01 and not Rex5:
                    l.append(st)
                    st=''
                    l.append(st)
                    st=j+"\n"
                    state=four
                elif (x1 or Rex5)and not Rex :
                    l.append(st)
                    st=''
                    l.extend(['',''])
                    st=j+"\n"
                    state=four_1
                elif (x2 or Rex) and  not Rex_n6:
                    l.append(st)
                    st=''
                    l.extend(['','',''])
                    state=four_2
                else:
                    st+=j+"\n"
            ####
            elif state==three:
                x0=re.search(rex4,j)
                x1=re.search(rex5,j)
                x2=re.search(rex6,j)###本院认为
                Rex5=re.search("(经审理查明|原判认定|[原一]{1}审(法院|)(经|)(审理|)查明|一审法院[^。，,]*事实如下:|原判查明)",j)
                Rex=re.search("(原判认定:|原审判决认定:|(原|一)审法院(经|)(审理|)认定:|^经审查.{,1}本院认为|^[一-龥\(\),，]+审理认为|认为:|[一-龥\(\),，]*原审法院认为|审理认为:)",j)
                if x0 and not Rex5 and not Rex:
                    ###原告诉称
                    l.append(st)
                    st=j+"\n"
                    state=four
                elif (x1 or Rex5)and not Rex:
                    l.append(st)
                    st=''
                    l.extend(st)
                    st=j+"\n"
                    state=four_1
                elif x2 or Rex:
                    l.append(st)
                    st=''
                    l.extend([st,st])
                    st=j+"\n"
                    state=four_2
                else:
                    st+=j+"\n"
            ###被告辩称
            elif state==four:
                x0=re.search(rex5,j,re.S)##审理查明
                x1=re.search(rex6,j)###本院认为
                Rex=re.search("((原|一)审法院(经|)(审理|)认定:|^经审查.{,1}本院认为|^[一-龥\(\),，]+审理认为|认为:|[一-龥\(\),，]*原审法院认为|审理认为:)",j)
                if x0 and not Rex:
                    l.append(st)
                    x1=re.search("(^.*。)(原判认定.*)",j)
                    if x1:
                        l.append(x1.group(1))
                        st=x1.group(2)+"\n"
                        state=four_2
                    else:
                        st=j+"\n"
                        state=four_1
                elif x1 or Rex:##
                    l.append(st)
                    st=''
                    l.append(st)
                    state=four_2
                    st=j+"\n"
                else:
                    st+=j+'\n'
            #审理查明数据
            elif state==four_1:
                x0=re.search(rex6,j)###本院认为
                Rex=re.search("(原判认定:|(原|一)审法院(经|)(审理|)认定:|^经审查.{,1}本院认为|^[一-龥\(\),，]+审理认为|认为:|[一-龥\(\),，]*原审法院认为|审理认为:)",j)
                if x0 or Rex:
                    l.append(st)
                    st=j+'\n'
                    state=four_2
                else:
                    st+=j+"\n"
            elif state==four_2:
                st+=j+"\n"
        l.append(st)
        txt=Deal_to_page2(i)
    #################################################
        if len(l)==7:
            if len(txt)!=9:
                return ["二审出错啦"]
            ###标题，当事人信息，审理经过，原告诉称，被告辩称，审理查明，本院认为
            m=deal2_repeat2(i[2])
            if len(m)==1:
                l.append(m[0])
            else:
                txt[0]=m[1]+"\n"+txt[0]
                l.append(m[0])
            #####一审判决结果，上诉人诉称，被上诉人辩称，二审查明，二审认为，二审判决结果
            #Txt=zip()
            l_id=[]
            l_id.append(i[0])
            l_id=l_id*9

            l.extend(txt)
        else:

           if len(txt)==9:
               m=deal2_repeat1(i[2])

               if len(m)==2:
                   k=len(l)
                   while k<=6:
                       l.append('')
                       k+=1
                   l.append(m[0])
                   txt[0]=m[1]+"\n"+txt[0]
               else:
                   k=len(l)
                   while k<=7:
                       l.append('')
                       k+=1

               l.extend(txt)
           else:
               pass
        key=["标题","当事人信息","审理经过","原告诉称","被告辩称","审理查明","本院认为","判决依据","一审判决结果","上诉人诉称",'被上诉人辩称','二审审理查明','二审法院认为',"判决依据","判决主文","判决尾部","落款"]
        l_now=[]
        l_now.append(now)
        l_now=l_now*17
        l_id=[]
        l_id.append(str(i[0]))
        l_id=l_id*17
        if len(l)==17:
            l=list(zip(l_id,l,key,l_now))
        return l
    def Stander(x):
            x=re.sub("&gt;","",x)
            x=re.sub("&times;","×",x)
            x=x.replace("&temp;","")
            x=x.replace("&quot;","")
            x=x.replace("{C}","")
            x=x.replace("&amp;","")
            x=re.sub("&nbsp;","",x)
            x=re.sub("&ldqu0;","",x)
            x=re.sub("&lsqu0;","",x)
            x=re.sub("&rsqu0;","",x)
            x=x.replace("lt;","")
            x=x.replace("\xe3","")
            x=x.replace("\x80","")
            x=x.replace("\xc2","")
            x=x.replace("\xa0","")
            x=x.replace("\x7f","")
            x=x.replace("\u3000","")
            x=x.replace("当事人原审的意见\n","")
            x=x.replace("\t", "")
            x=x.replace("&rdqu0;","")
            x=re.sub("[  　　]+","",x)
            x=re.sub("<[^<>]+>","",x)
            x=re.sub("\(此页无正文\)","",x)
            x=re.sub("判([\n]*|[?]+|)决([\n]*|[?]+|)如([\n]*|[?]+|)下","判决如下",x)
            x=re.sub("判([\n]*)决([\n]*|):","判决:",x)
            x=re.sub("(|[\n]*)年([\n]*|)","年",x)
            x=re.sub("(\n|[\n]*)月(|[\n]*)","月",x)
            x=re.sub("[?]{3,}","\n",x)
            x=re.sub("[?]+","",x)
            x=re.sub("[‘’']","",x)
            x=re.sub("[zｚＺ]{1}[lＬｌ]{1}","ZL",x)
            x=re.sub("[\r\n]+","\n",x)
            x=re.sub("...: ","",x)
            x=x.replace("\x0b","\n")
            x=re.sub("[\r\n]+","\n",x)
            x=re.sub("[:：：:：：：]{1}",":",x)
            x=re.sub("^[\n]+","",x)
            x=re.sub("（本页无正文）","",x)
            x=re.sub("\(本页无正文\)","",x)
            x=re.sub("本判决为终审判决。","",x)
            x=re.sub("(\n)日","日",x)
            x=re.sub("审([\n]*|[?]+|)判([\n]*|[?]+|)长([\n]+|[?]+)","审判长 ",x)
            x=re.sub("代([\n]*|[?]+|)理([\n]*|[?]+|)审判长","代理审判长 ",x)
            x=re.sub("审([\n]*|[?]+|)判([\n]*|)员([\n]*|[?]+)","审判员 ",x)
            x=re.sub("代([\n]*|[?]+|)理([\n]*|[?]+|)审判员","代理审判员 ",x)
            x=re.sub("陪([\n]*|[?]+|)审([\n]*|[?]+|)员([\n]+|[?]+)","陪审员 ",x)
            x=re.sub("人([\n]*|[?]+|)民([\n]*|[?]+|)陪审员([\n]+|[?]+)","人民陪审员 ",x)
            x=re.sub("书([\n]*|[?]+|)记([\n]*|[?]+|)员([\n]+|[?]+)","书记员 ",x)
            x=re.sub("速([\n]*|[?]+)记([?]*|[\n]*)员","速记员",x)
            x=re.sub("速记员\n","速记员 ",x)
            x=re.sub("速([\n]*)录[\n]*员","速录员",x)
            x=re.sub("速录员\n","速录员",x)
            x=re.sub("法([\n]*|[?]+|)官([\n]*|[?]+|)助([\n]+|[?]+)理","法官助理  ",x)
            #清除开始赘余信息
            x1=re.search("(^签发.*?[\n])([^\n]{,30}法院)",x,re.S)
            if x1:
                x1=x1.group(1)
                x=x.replace(x1,"")
            x1=re.search("(^.*(已审理终结。|已审理完结。|已审理完毕。))([^\n]{1}.*)",x,re.S)
            if x1:
                x2=x1.group(3)
                x1=x1.group(1)
                x=x1+"\n"+x2
            x1=re.search("(^.*(已审理终结。|已审理完结。|已审理完毕。))([^\n]{1}.*)",x,re.S)
            if x1:
                x2=x1.group(3)
                x1=x1.group(1)
                x=x1+"\n"+x2
            ###对尾部文书进行基本的规范化
            x=re.sub("pt;''>","",x)
            x=re.sub("当事人二审的意见\n","",x)
            x=re.sub("\(原审判决附图一\)\(原审判决附图二\)","",x)
            x1=re.search("^((?!(法院|\n)).)*\n",x,re.S)
            ###只能整体进行不能单独的进行其他的计算
            if x1:
                tx1=x1.group()
                x=x.replace(tx1,"")
                #x=re.sub(tx1,"",x)
            #附
            x1=re.search("(附:本判决书所依据法律规定的具体条文:|附本判决书引用的主要法律条文:|附.{,1}本判决适用法律条文:|附.{,1}本判决适用法律条款:|附:本案适用的法律条款|附:本案适用的法律条款|附:本案适用的法律条款).+",x,re.S)
            if x1:
                xx=x1.group()
                x=x.replace(xx,"")
            return x

    Flag,lcontent=Deal2_1(Content)
    if Flag:
        l_content=Deal2_to_page1(lcontent)
        if len(l_content)==17:
            return l_content,True
        else:
            return l_content,False
    else:
        return ['wu'],False
