| Title | Test
                    Find
                    
                    Validate US Postal Code | 
            
                | Expression | ^(?!00000)(?<zip>(?<zip5>\d{5})(?:[ -](?=\d))?(?<zip4>\d{4})?)$ | 
            
                | Description | Validate US zip codes. Matches all zip codes of exactly 5 digits except 00000. Optionally, matches zip5+zip4 where zip5 is exactly 5 digits, zip4 is exactly 4 digits, and zip5 and zip4 are, optionally, separated by a single space or hyphen. Captures zip5 and zip4 to named groups to facilitate program manipulation. | 
            
                | Matches | 12345 | 123456789 | 12345-6789 | 
            
                | Non-Matches | 12345- | 00000 | 00000-6789 | 
            
                | Author | Rating:
                        
Not yet rated.
                    Jerry Schmersahl | 
            
                | Source |  | 
            
              | Your Rating |  | 
        
    
 
    
    
     
        
                
	                Title: Pattern failure
	                Name: Hardryv
	                Date: 9/5/2006 6:24:56 PM
	                Comment: 
parsing "^(?!00000)(?\d{5})(?:(?:[- ]?)(?\d{4}))?$" - Unrecognized grouping construct
I had high hopes that this pattern would not only lead me to a solution, but also teach me something.  For some reason it failed when tested.  Can you please fix it or advise me what switches you ran it with to test it please?