http://www.perlmonks.org?node_id=983811


in reply to Parsind data in xlsx

What data do you need to extract? And what have you tried, what problems did you have?

Replies are listed 'Best First'.
Re^2: regex optional word match
by Rahul Gupta (Sexton) on Jul 26, 2012 at 10:03 UTC
    I have tried this regular expression $_ =~ m/^REMOTE\s+\[(.*?)\]\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+\[(.*?)\]\s+(.*?)sec\s+(.*)MBytes\s+(.*)Mbits\/sec . it gives data from both strings.But <cd> String1:"REMOTE Mon Jul 16 21:49:33 2012 @@ ueh1 TNT 20490 1916 0.0- 1.0 sec 0.33 MBytes 2.74 Mbits/sec 6.056 ms 0/ 233 (0%)"; </c>having two values in last 6.056 ms and 0/ 233(0%) i have to make them optional. Please help me in this problem Thanx
        hi,
        I have one array with 2 Strings:
        String1: "REMOTE [Mon Jul 16 21:49:33 2012] @@ [ueh1] [TNT] [2049 +0] [1916] 0.0- 1.0 sec 0.33 MBytes 2.74 Mbits/sec 6.056 ms 0/ + 233 (0%)". String2: "REMOTE [Mon Jul 16 21:49:34 2012] @@ [pdn1] [SSH] [2049 +9] [3] 1.0- 2.0 sec 0.34 MBytes 2.86 Mbits/sec".
        In "String1" I have two extra values that is "6.056 ms" and "0/ 233 (0%)" rest are same in both string; I tried this regex: m/^REMOTE\s+\[(.*?)\]\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+\[(.*?)\]\s+(.*?)sec\s+(.*)MBytes\s+(.*)Mbits\/sec
        but need to add the above mentioned two values of String1 in regex and make them optional so that both condition gets passed and last values stored in $10, $11.
        Can anyone help me?
        Thanks in advance