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