Mr. Shawn H. Corey wrote:
> On Fri, 2008-10-03 at 11:52 +0300, Vyacheslav Karamov wrote:
>> Hi All!
>>
>> I need to capture something in braces using regular expressions.
>> But I don't need to capture wrong data:
>>
>> [Some text] - correct
>> (Some text) - also correct
>> [Some text) - wrong
>> (Some text] - also wrong
>>
> 
> #!/usr/bin/perl
> 
> use strict;
> use warnings;
> 
> while( <> ){
>   chomp;
>   while( /\((.*?)\)|\[(.*?)\]/g ){
>     my $result = $1;
>     $result = $2 unless defined $result;
>     print "$result\n";
>   }
> }
> 
> __END__
> 
> Note that if these structures can be nested, you will have to use a FSA
> with a push-down stack.

That will match a line like

  [wrong) and (wrong]

Rob

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to