Note: Forums will be making significant UX changes to address key usability improvements surrounding search, discoverability and navigation. To learn more about these changes please visit the announcement which can be found HERE.
Need help with extracting data using regex.

Locked Need help with extracting data using regex.

  • 2012年1月10日 16:25
     
     

    I am beginner in the regex. could you please help me extract the data from a text file into the meaningful form.

    Data

    MEMTYPE1 Member_fam_name class1 4.000 03-Jan-2013 10 MEMBER_TYPE=vip:limited INTERNAL GROUP_MEMBER=VP  VIP_ GROUP_MEMBER=YES START=04-Jan-2012 TRANS=4320 PHONE=569-75412689

    MEMTYPE2 Member_fam_name class2  8.000 MEMBERS="MEMBER_NAME_1 MEMBER_NAME_2 MEMBER_NAME_3” GROUP_MEMBER=ORD  INTERNAL START=04-Jan-2012

     Desired output as dataset

     

    MEMTYPE1

    Membership_Name:Member_fam_name (alphanumeric with _)

    Membership_Class: class1 (fixed length alphanumeric)

    Membership_Ver:4.000 (any number in the same format)

    Membership_Expiry: 03-Jan-2013 (could be “permanent” or none)

    Membership_Usage:10 (any other number)

    Membership_Type:vip:limited (variable length alphanumeric with : seperator)

    Member_Internal_External: INTERNAL (EXTERNAL or blank)

    Member_group_Membership:VP (2 or 3 Alphabets or none listed)

    Member_Part_of_VIP:YES (2 or 3 Alphabets or none listed)

    Member_Since: 04-Jan-2012 (Date)

    Member_Transactions:4320 (Numeric or none)

    Member_Phone:569-75412689 (Numeric same length)

     

    MEMTYPE2

    Membership_Name:Member_fam_name (alphanumeric with _)

    Membership_Class: class2 (fixed length alphanumeric)

    Membership_Ver:8.000 (any number in the same format)

    Members:

                    Member1: MEMBER_NAME_1

                    Member2: MEMBER_NAME_2

    Member3: MEMBER_NAME_3

    Member_group_Membership:ORD (2 or 3 Alphabets or none listed)

    Member_Internal_External: INTERNAL (EXTERNAL or blank)

    Member_Since: 04-Jan-2012 (Date)

すべての返信

  • 2012年4月23日 2:54
     
     

    var result = input.split(" ");

    var memtype = result[0];

    ...

    var usage = result[5];

    foreach( var entry in result )

    {

    if( entry.contains( "=") )

    {

       var parts = entry.split("=",2);

    switch( part[0])

    {

    case "MEMBER_TYPE":

    ....

    }

    }


    Ta Ken