Hi guys! I'm interested to know what the developers where thinking when they wrote the code for handling nested subexpressions, e.g. (abc*(foobar(foo)+))){3,5}. Did they go through some ideas, like having a list of these "atomic" parts which cannot be broken up, like list node #1 having "ab", #2 having "c*", #3 having "foobar" and #4 having "foo+", and then #5 saying "the previous 4 nodes having to be matched at least 3 times but no more than 5." (or whatever). What kind of designs did they go through, which ones were rejected for what reasons? Is anyone interested in a perl-like s/regexp/replacement/args kind of search and replace construct? And almost off-topic, how did they search posix.org (which I think is redirected to the IEEE site) for the POSIX docs on regexps? I'd like to grab a copy and have a look. Thanks! James Buchanan