Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re: Regex Question

by tmharish (Friar)
on Jan 22, 2013 at 14:44 UTC ( [id://1014682]=note: print w/replies, xml ) Need Help??


in reply to Regex Question

I agree with BillKSmith and ww.

but ...

use 5.010 ; use strict ; use warnings ; use Data::Dump qw( dump ) ; my @data = @{ _get_data() } ; my @clean_data ; my @removed_data ; foreach my $data_elem ( @data ) { # "Subject: 4 Details - MICHAEL4 NICHOLSON4 - **Senior S4* (4)", if( $data_elem =~ /^(.*?):(.*?)-(.*?)-.*?\*\*(.*?)\*.*?\((.*?)\)$/ + ) { my $subject = $1 ; my $item = $2 ; my $name = $3 ; my $position = $4 ; my $id = $5 ; unless( $subject eq 'Subject' ) { warn( "Subject not 'Subject', Ignoring ... \n" ) ; next ; } push @clean_data, [ $subject, $item, $name, $id ] ; push @removed_data, $position ; } else { warn( "Unknown data format - Ignoring\n" ) ; } } dump( \@data ) ; dump( \@clean_data ) ; dump( \@removed_data ) ; exit() ; sub _get_data { my @data ; foreach my $data_item ( 0 .. 10 ) { if( rand() < .5 ) { push @data, "Subject: $data_item Details - MICHAEL$data_item N +ICHOLSON$data_item - **Senior S$data_item* ($data_item)" ; } else { push @data, "NoSub: $data_item Details - MICHAEL$data_item N +ICHOLSON$data_item - **Senior S$data_item* ($data_item)" ; } } return \@data ; }
OUTPUT ( Note there is a 'rand' in there so you might not see this )
Subject not 'Subject', Ignoring ... Subject not 'Subject', Ignoring ... Subject not 'Subject', Ignoring ... Subject not 'Subject', Ignoring ... [ "NoSub: 0 Details - MICHAEL0 NICHOLSON0 - **Senior S0* (0)", "Subject: 1 Details - MICHAEL1 NICHOLSON1 - **Senior S1* (1)", "Subject: 2 Details - MICHAEL2 NICHOLSON2 - **Senior S2* (2)", "Subject: 3 Details - MICHAEL3 NICHOLSON3 - **Senior S3* (3)", "Subject: 4 Details - MICHAEL4 NICHOLSON4 - **Senior S4* (4)", "NoSub: 5 Details - MICHAEL5 NICHOLSON5 - **Senior S5* (5)", "NoSub: 6 Details - MICHAEL6 NICHOLSON6 - **Senior S6* (6)", "NoSub: 7 Details - MICHAEL7 NICHOLSON7 - **Senior S7* (7)", "Subject: 8 Details - MICHAEL8 NICHOLSON8 - **Senior S8* (8)", "Subject: 9 Details - MICHAEL9 NICHOLSON9 - **Senior S9* (9)", "Subject: 10 Details - MICHAEL10 NICHOLSON10 - **Senior S10* (10)", ] [ ["Subject", " 1 Details ", " MICHAEL1 NICHOLSON1 ", 1], ["Subject", " 2 Details ", " MICHAEL2 NICHOLSON2 ", 2], ["Subject", " 3 Details ", " MICHAEL3 NICHOLSON3 ", 3], ["Subject", " 4 Details ", " MICHAEL4 NICHOLSON4 ", 4], ["Subject", " 8 Details ", " MICHAEL8 NICHOLSON8 ", 8], ["Subject", " 9 Details ", " MICHAEL9 NICHOLSON9 ", 9], ["Subject", " 10 Details ", " MICHAEL10 NICHOLSON10 ", 10], ] [ "Senior S1", "Senior S2", "Senior S3", "Senior S4", "Senior S8", "Senior S9", "Senior S10", ]

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1014682]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (2)
As of 2024-04-25 06:20 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found