[REBOL] Re: Parse doing weird things...
From: jelinem1:nationwide at: 19-Mar-2001 10:34
If the problem really is that you are looking for a TRUE return from
'parse, then the explaination is simple. 'parse will return TRUE only if it
can successfully match the entire string according to the given rules.
Placing "to end" as your final rule should give you the result you desire.
Even though 'parse is returning FALSE, your word should be set to the
substring between "something" and "somethingelse". What I do in your case
is to set 'datamine to NONE previous to the 'parse, then check its value
afterward to determine whether it was set to a string!.
- Michael Jelinek
Mat Bettinson <[mat--eurogamer--net]>@rebol.com on 03/19/2001 09:20:49 AM
From: Mat Bettinson <[mat--eurogamer--net]>@rebol.com on 03/19/2001 09:20 AM
Please respond to [rebol-list--rebol--com]
Sent by: [rebol-bounce--rebol--com]
To: Mat Bettinson <[rebol-list--rebol--com]>
Subject: [REBOL] Parse doing weird things...
While I'm at it;
I've noticed this issue repeatedly in my data mining scripts. The
parse command sometimes just will not work with the following format;
webpage: read http://www.yaddayadda.com
datamine: make string! ""
parse webpage [thru "something" copy datamine to "somethingelse"]
In the vast bulk of cases it works but right now I'm sitting in my
Rebol console with a bag load of HTML fragment in a variable and parse
turns up false every time. Now the rules DO match the content in the
parse tmp/content [thru "Etymology:" copy DictEnty to "<br>"]
Here's everything I've tried that I can remember.
tmp/content comes from HTTP-TOOLS and I've tried loading it into
another variable, no luck.
Etymology: *does* exist. If I put 'to end' instead of the <br> tag
then it parses true. Find also turns up Etymology as well.
It doesn't appear to matter WHAT I put in the quotes at the end. IE I
can hunt for a couple of plain letters that are in the string directly
following Etymology. It doesn't appear to make any difference that
this is a tag.
Finally, all of this worked before and now it doesn't. In the past to
cure this random parse blowout, I've had to cut down on the data I'm
trying to parse.
All of the above leads me to think there is some sort of restriction
to how much data can be parsed before some sort of
feature/limitation/bug is run into.
Anyone seen this before? Comments?
Mat Bettinson - EuroGamer's Gaming Evangelist with a Goatee
http://www.eurogamer.net | http://www.eurogamer-network.com