[TxMt] OT: Perl Compatible Regex problem I can't solve

David Lee david at davelee.com.au
Fri Apr 8 05:12:19 UTC 2005


 #!/usr/bin/perl
while (<>) {
	while($_ =~ s/^\/?([^\/]+)\/?//)
	{
		print $1,"\n";
	}
}

It doesn't match them all in one match, but loops destructively against each
line. It's also less preferable than a split, unless you're expecting input
which contains slashes and doesn't otherwise match your criteria.

I realised when attempting this I have no idea how to make captured matches
not overwrite each other - eg running /^(?:(\w+) ?)$/ against 'foo bar baz
woz' returns only $1=woz; previous matches (foo etc) are overwritten.

If anyone knows how to alleviate that, it's driving me mental ..

Cheers

D

-----Original Message-----
From: Mats Persson [mailto:mats at imediatec.co.uk] 
Sent: Friday, 8 April 2005 3:27 AM
To: TM Users
Subject: [TxMt] OT: Perl Compatible Regex problem I can't solve


OK, for way too many hours I have been trying to get this seemingly simple
Perl compatible regex to work out, but I just can't seem to do it. I'm about
to give up, move to a dark cave and shun computers for life. :(

The problem:

I have a string that is looking something like this:   /a/b/c/d/
the string can be just    /a/    or it can be      /a/b/..../z/       
very long.

I would like to catch all the various bits in this string [   /a/b/c/d/ 
   ]  as follows:
$1 =  /a/
$2 = b/
$3 = c/
$4 = d/

and so on for each added bit. The bits in between the "/" contains mainly
[alphnums].

I've tried every regex version of this that I can think of and most don't
return a damn thing, and others return the wrong things.  A few days ago I
thought I got this regex stuff, but now I'm in serious doubt.

I know that I can workaround the problem by doing other things, but it's
become a bit of a burden on my mind. I'd like to know where I'm going wrong
'cause I can't see it at the moment and that drives me mad.

Extremely over the top grateful for any help. :)


Kind regards,

Mats

----
"TextMate, coding with an incredible sense of joy and ease"
- www.macromates.com -

______________________________________________________________________
For new threads USE THIS: textmate at lists.macromates.com (threading gets
destroyed and the universe will collapse if you don't)
http://lists.macromates.com/mailman/listinfo/textmate





More information about the textmate mailing list