Connecting Tech Pros Worldwide Help | Site Map

Maximum length for a match

  #1  
Old November 28th, 2006, 04:45 PM
Paul Johnston
Guest
 
Posts: n/a
I know this may sound silly but given something like

if ($_ =~m/(one)|(two)|(three)/)

Is there a maximum length on the size of the item between "/" and" /"
?
Just curious as regards showing bad programming techniques.

TIA Paul
  #2  
Old November 28th, 2006, 06:05 PM
Jim Gibson
Guest
 
Posts: n/a

re: Maximum length for a match


In article <70rom2lojv0gj1mgclvar242bb7q3l4ppm@4ax.com>, Paul Johnston
<paul.johnston@manchester.ac.ukwrote:
Quote:
I know this may sound silly but given something like
>
if ($_ =~m/(one)|(two)|(three)/)
>
Is there a maximum length on the size of the item between "/" and" /"
?
Just curious as regards showing bad programming techniques.
There is no inherent limit. You are limited by your available memory
for Perl scalars. You can test this easily:

#!/usr/local/bin/perl

use strict;
use warnings;

my $re;
for my $x ( 'aaaa' .. 'zzzz' ) {
$re .= "($x)|";
}
my $s = 'XXXXX';
$re .= "($s)";
print "Length of RE = ", length($re), "\n";
if( $s =~ m/$re/ ) {
print "Match: $&\n";
}

__OUTPUT__

Length of RE = 3198839
Match: XXXXX


FYI: this newsgroup is defunct. Try comp.lang.perl.misc in the future.
  #3  
Old November 29th, 2006, 07:55 AM
Paul Johnston
Guest
 
Posts: n/a

re: Maximum length for a match


On Tue, 28 Nov 2006 10:21:50 -0800, Jim Gibson
<jgibson@mail.arc.nasa.govwrote:
Quote:
>In article <70rom2lojv0gj1mgclvar242bb7q3l4ppm@4ax.com>, Paul Johnston
><paul.johnston@manchester.ac.ukwrote:
>
Quote:
>I know this may sound silly but given something like
>>
>if ($_ =~m/(one)|(two)|(three)/)
>>
>Is there a maximum length on the size of the item between "/" and" /"
>?
>Just curious as regards showing bad programming techniques.
>
>There is no inherent limit. You are limited by your available memory
>for Perl scalars. You can test this easily:
>
>#!/usr/local/bin/perl
>
>use strict;
>use warnings;
>
>my $re;
>for my $x ( 'aaaa' .. 'zzzz' ) {
$re .= "($x)|";
>}
>my $s = 'XXXXX';
>$re .= "($s)";
>print "Length of RE = ", length($re), "\n";
>if( $s =~ m/$re/ ) {
print "Match: $&\n";
>}
>
>__OUTPUT__
>
>Length of RE = 3198839
>Match: XXXXX
>
>
>FYI: this newsgroup is defunct. Try comp.lang.perl.misc in the future.
Many Thanks
Closed Thread


Similar Threads
Thread Thread Starter Forum Replies Last Post
Variable Length lak answers 13 November 19th, 2007 02:55 AM
Is there a maximum length of a regular expression in python? olekristianvillabo@gmail.com answers 14 January 25th, 2006 03:55 AM
Set TextBox MaxLength to match SQL varchar(nnn) length? Edward Mitchell answers 5 November 22nd, 2005 05:59 PM
Set TextBox MaxLength to match SQL varchar(nnn) length? Edward Mitchell answers 5 July 21st, 2005 09:54 PM