Thanks! I really appreciate the detailed answer...will try this asap.
Regards,
Howie
--- On Sunday, March 20, 2005 6:34 PM, Jim Davis scribed: ---
>
>
> At the very least you'd have to do "##.+?##":
>
> +) The doubled pounds are to escape them in CF (otherwise CF will see
> then
> as vars).
>
> +) The period is the "any character" wild card in RegEx (not the
> asterisk).
>
> +) The plus says "find one or more occurrences of the previous set.
>
> +) The Question mark (used as it is here) makes the expression
> "non-greedy" - in other words it will stop at the first "end pound"
> it sees rather than
> the last. (Note that versions of CF prior to MX don't support this -
> but
> lordy do it make life easier.)
>
> Still that ones not quite right anyway... CF variable names can only
> start
> with a currency symbol, an underscore or a letter. Then they can
> only have
> letters, numbers, underscores and currency symbols in them.
>
> So a snippet to find a CF var name looks like this (this is from a
> custom
> type validator I have). First I set a variable to a list of Unicode
> currency symbols:
>
> <cfset CurSyms = Chr(36) & Chr(162) & Chr(163) & Chr(164) & Chr(165) &
> Chr(2546) & Chr(2547) & Chr(8352) & Chr(8353) & Chr(8354) & Chr(8355)
> &
> Chr(8356) & Chr(8357) & Chr(8358) & Chr(8359) & Chr(8360) & Chr(8361)
> &
> Chr(8362) & Chr(8363) & Chr(8364) & Chr(8365) & Chr(8366) & Chr(8367)
> &
> Chr(8368) & Chr(8369) & Chr(3647) & Chr(6107) />
>
> Then the rex ex to determine a good CF variable name would be:
>
> "^[[:alpha:]_#CurSyms#][[:alnum:]_#CurSyms#]*"
>
> +) The caret ("^") in this case "pins" the regex to the beginning of
> the
> search (this regex looks at a single value and determines if it's a
> valid
> variable name, not across a whole document).
>
> So this one is basically saying "The first character must be a
> letter, an
> underscore or a currency symbol followed by any number of letters,
> numbers
> or currency symbols".
>
> Even that's not exactly right since CF vars can't really be of any
> length...
> but since I don't what the upper limit is it works for now.
>
> So - trying tp put them together might yield this (this also assumes
> that
> the currency symbols have been set):
>
> "##[[:alpha:]_#CurSyms#][[:alnum:]_#CurSyms#]*?##"
>
> All told I think that will work... I'm not sure tho - give her a try
> and let
> us know how it works out!
>
> The main problem I can see is that there now way for the RegEx to know
> "where" in the document you are. You'll almost definitely pick up
> false
> positives from this when dealing with pound signs for inner-page
> anchors and
> the like.
>
> In short there's really no way for a single regex to ensure that
> you're in a
> CF tag when it checks. You might be able to pull it off with a bunch
> of
> tags but recursive parsing is really the only way to determine the
> document
> structure enough to figure it out (and even then things go screwy
> sometimes
> with badly formed code).
>
> Jim Davis
>
>
>
>
>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Logware (www.logware.us): a new and convenient web-based time tracking
application. Start tracking and documenting hours spent on a project or with a
client with Logware today. Try it for free with a 15 day trial account.
http://www.houseoffusion.com/banners/view.cfm?bannerid=67
Message: http://www.houseoffusion.com/lists.cfm/link=i:4:199498
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe:
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54