[Omaha.pm] regex gurus

Jay Swackhamer Jay at RebootTheUser.com
Fri Feb 19 09:48:03 PST 2010


That works for the first split I was stuck on.

Thanks
-- 
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>:

> Ok, a good strategy might be to break it up by the ( and ) characters first,
> then further process the parts:
>
> @part = split(/[()]/, $condstring);
>
> This gives you a "shallow parse", which may or may not be a useful starting
> point.
>
> - Dave
>
> On Fri, Feb 19, 2010 at 10:45 AM, Jay Swackhamer   
> <Jay at reboottheuser.com>wrote:
>
>> 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
>>>
>>>
>>
>>
>>
>
>
> --
> Dave Burchell
>





More information about the Omaha-pm mailing list