[Chicago-talk] REGEX question
Richard Solberg
flateyjarbok at yahoo.com
Sat Apr 17 07:14:29 CDT 2004
Thanks for the input Pete, Mike, and Steven.
Steven I have a follow up question.
--- Steven Lembark <lembark at wrkhors.com> wrote:
>
> Assign the result of globally applying a regex
> to the buffer and you'll get everything that
> maches in one pass:
>
> my $regex = /(whatever)(matches)/;
>
> my @result = $buffer =~ /$regex/g;
>
> You can also use a while loop with \Z to match
> where the last regex left off.
I am missing the last portion on regex's but not sure
where you would use the \Z. Can you write a while
loop example?
>
> One nice trick with split is that it can capture
> what was used to split on (nice if the separator
> varies between runs or within the buffer):
>
>
> my @stuff = split /(\W+)/, $buffer;
>
> will split the buffer on non-word char's and
> save both the matched portion from the regex
> and the split-out pieces between.
This works for me once I include the ( ) around the
\W+. Doesn't seem to work though if I want to put
()'s inside the outer ()'s. Can you put variables or
either|or () inside.
@stuff = split /(<td>(.*?)<\/td>) / , $buffer
to capture a varible
or
@stuff = split /(<td>\w+(.|\/|\0)<\/td> ) / , $buffer
to capture word characters that may have a "." , "/"
or just all word characters? All surrounded by the
<td> and </td>
examples are
<td>Word</td>
<td>Word.</td>
<td>Word/</td>
Thanks much.
>
> --
> Steven Lembark
> Workhorse Computing
> +1 888 359 3508
> _______________________________________________
> Chicago-talk mailing list
> Chicago-talk at mail.pm.org
> http://mail.pm.org/mailman/listinfo/chicago-talk
__________________________________
Do you Yahoo!?
Yahoo! Tax Center - File online by April 15th
http://taxes.yahoo.com/filing.html
More information about the Chicago-talk
mailing list