[Omaha.pm] regex gurus

Jay Swackhamer Jay at RebootTheUser.com
Fri Feb 19 08:45:38 PST 2010


In the string below, it's from a parameter file.

I need to break it out by what's the longest string between the '('  
and the ')'
and then the shorter strings between '(' and ')' , then the and/or's  
so I can translate/process the logic.

the include_1 would be a condition name, and the f7/f10/f8 etc are  
field names that are substrings of lines of data.

-- 
Jay Swackhamer
Reboot The User
402-933-6449
http://www.reboottheuser.com
http://www.cafepress.com/rtu
http://stores.ebay.com/RebootTheUser
http://www.hotr.com


Quoting Dave Burchell <evaddnomaid at gmail.com>:

> Sure Jay, I'm no guru but I use regex whenever I can.
>
> What do you mean when you say "based on what is between '( )'"?
>
> - Dave
>
> On Fri, Feb 19, 2010 at 10:17 AM, Jay Swackhamer   
> <Jay at reboottheuser.com>wrote:
>
>>
>> Looking at examples, not getting it done.
>>
>> Any regex gurus out there that can give me a tip on taking a string and
>> splitting into groups based on what is between '( )'
>>
>> So I can take condstring, split it into an array by whats grouped in (),
>> then take each element and split out the rest of the () groups.
>> i.e.
>>
>>  my $condstring="include_1 (f7 ne \'ce\' and f10 ne \'r\' and f1 ne \'ce\'
>> and f8 ne \'lg\' and f8 ne \'li\' and f8 ne \'lj\' and f8 ne \'lr\' and f8
>> ne \'lu\' and f8 ne \'lv\' and f8 ne \'tl\' and f8 ne \'ta\' and(f4 eq \'e\'
>> or f4 eq \'g\' or f4 eq \'w\')) ";
>>
>>  @condarr = split /(\).*\))/, $condstring;
>>
>>
>> --
>> Jay Swackhamer
>> Reboot The User
>> 402-933-6449
>> http://www.reboottheuser.com
>> http://www.cafepress.com/rtu
>> http://stores.ebay.com/RebootTheUser
>> http://www.hotr.com
>>
>>
>>
>> _______________________________________________
>> Omaha-pm mailing list
>> Omaha-pm at pm.org
>> http://mail.pm.org/mailman/listinfo/omaha-pm
>>
>
>
>
> --
> Dave Burchell
>





More information about the Omaha-pm mailing list