Monday, November 08, 2010 at 12:05 AM.
system.verbs.builtins.re.testing.umlauts
local (adrtable = @temp.regexUmlautTest); new (tableType, adrtable); local (adrposix = @adrtable^.posix); new (tableType, adrposix); local (charList = {}); for i = 0 to 255 { charList = charList + char (i)}; adrtable^.charList = charList; bundle { //generic char types adrtable^.word = re.grep (re.compile ("\\w"), adrtable^.charList); adrtable^.nonword = re.grep (re.compile ("\\W"), adrtable^.charList); adrtable^.whitespace = re.grep (re.compile ("\\s"), adrtable^.charList); adrtable^.nonwhitespace = re.grep (re.compile ("\\S"), adrtable^.charList); adrtable^.digit = re.grep (re.compile ("\\d"), adrtable^.charList); adrtable^.nondigit = re.grep (re.compile ("\\D"), adrtable^.charList)}; bundle { //posix character classes on testPosixClass (name) { adrposix^.["[:" + name + ":]"] = re.grep (re.compile ("[[:" + name + ":]]", flCaseSensitive:true), adrtable^.charList); adrposix^.["^[:" + name + ":]"] = re.grep (re.compile ("[^[:" + name + ":]]", flCaseSensitive:true), adrtable^.charList)}; testPosixClass ("alnum"); testPosixClass ("alpha"); testPosixClass ("ascii"); testPosixClass ("blank"); testPosixClass ("cntrl"); testPosixClass ("digit"); testPosixClass ("graph"); testPosixClass ("lower"); testPosixClass ("print"); testPosixClass ("punct"); testPosixClass ("space"); testPosixClass ("upper"); testPosixClass ("word"); testPosixClass ("xdigit")}; edit (adrtable)
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.