I am nowhere near being a regex guru and therefore can't answer your question, but I think I've read somewhere that using the /i modifier slows things down considerably. Apparently, using [A-Za-z] is faster than [A-Z] with the /i modifier. Just wanted to point this out in case the code is being run where performance really matters.