Wow
Wow....this is a really cool question, and since no one has commented on it yet Ill take a stab at. Perhaps my answers or others that reply will help out the regex community, because I think this is a good application of regexs.
Setup:
* Application needs to decide what to do with a file based on file extension
* Lots of different file extensions being encountered
* Some are fixed and most others fit some pattern, e.g., *.R* for RAR files
* Very cumbersome to try and handle each possible extension individually
My comments:
* Ill assume (and you know what that does) that using patterns will greatly reduce the number of extension entries to be tracked. For example, the pattern \.R[0-9]0-9]$ matches all file extensions .R00 through .R99, reducing the count for that file extension tracking from 100 entries to 1 entry.
* Based on that assumption I believe that you will be able to negate the need for a hash table or use the hash table more judiciously. Perhaps you could store fixed extensions in the hash table. By fixed I mean ".avi", ".txt", etc. You could check the extension against the hash table and if found then youre done. If you dont find the extension in the hash table, then you can start comparing it against a sequential list of regex patterns.
* This is where it gets subjective. The list of regex patterns probably wont be that big, but even if it is you will most likely still want to go through all the entries. Since a given extension has the potential to match more than one extension pattern, you may have to come up with a resolution method. You might want to check the extension against all extension patterns, and if more than one match is found then do some more extensive extension analysis (no pun intended).
* At this point in the discussion there is room for thinking about potentially how many different regex patterns you might handle. If its a lot, then you might want to hash the patterns into a seperate table, based on the first character of the extension. This and other considerations will have to be made upon analysis of the actual application environment currently and/or as it progresses.
Thats my ideas. Im sure that others have suggestions that can help us all think and learn more. 
Regular Expression Documentation