Hirdetés

Új hozzászólás Aktív témák

  • tototos

    őstag

    Sziasztok!

    lehet olyat csinálni regexpben, hogy az ismétlődéseket kiszedje külön machgroupokba?
    Itt a string:
    Frames{ID_DATA:0,iStars_LINSlave,2{Supplier_ID,0;Machine_ID,3;Chip_ID,8;}LIN_CONTROL:32,MB_LINMaster,4{Reg_Set_Voltage,0;Ramp_Time,8;Cut_Off_Speed,12;Exc_Limitation,16;Derat_Shift,24;MM_Request,27;Reg_Blind,30;}LIN_STATE:48,iStars_LINSlave,8{MM_State,0;Exc_Duty_Cycle,3;Exc_Current,8;Rot_Speed,16;Temperature,24;Derating,30;Overheating,31;iStARS_Voltage,32;Exc_Current_Limit,40;CRK_State,48;INH_CRK_State,49;Stop_Start_Warning,50;LIN_Com_Error,51;NotUsed,52;Anticip_Timeout,53;Stalled_Rotor,54;Aborted_Crank,55;SH_Timeout,56;Exc_Fault,57;Demag_Fault,58;Bridge_Fault,59;MS_Fault,60;Overvoltage,61;LoadDump,62;Undervoltage,63;}}

    Ebből szeretném kinyerni az adatokat groupokban.
    Ezta pattern írtam: (\w+):(\d+),(\w+),(\d+)\{([\w,;]+)\}
    Ami a gond, hogy a { utáni részt nem szedi szét kisebb csoportokba, hanem egyben hagyja. Egy lépésben szeretném ezt, tudom meg lehet, hogy a groupot még tovább vágom egy későbbi lépésben.
    Most így néz ki a csoportosítás:
    [0][0] = ID_DATA:0,iStars_LINSlave,2{Supplier_ID,0;Machine_ID,3;Chip_ID,8;}
    [0][1] = ID_DATA
    [0][2] = 0
    [0][3] = iStars_LINSlave
    [0][4] = 2
    [0][5] = Supplier_ID,0;Machine_ID,3;Chip_ID,8;

    ebből szeretnék egy ilyet:
    [0][0] = ID_DATA:0,iStars_LINSlave,2{Supplier_ID,0;Machine_ID,3;Chip_ID,8;}
    [0][1] = ID_DATA
    [0][2] = 0
    [0][3] = iStars_LINSlave
    [0][4] = 2
    [0][5] = Supplier_ID,0;
    [0][6] = Machine_ID,3;
    [0][7] = Chip_ID,8;

    Köszönöm

Új hozzászólás Aktív témák