- import re 
-   
- examples = [ 
-     "D1",       # expected: ('1') 
-     "D1sjdgf",  # ('1') 
-     "D1.2",     # ('1', '2') 
-     "D1.2.3",   # ('1', '2', '3') 
-     "D3.10.3x", # ('3', '10', '3') 
-     "D3.10.11"  # ('3', '10', '11') 
- ] 
-   
- rx = re.compile(r'^D(\d+)(?:\.(\d+)(?:\.(\d+))?)?') 
-   
- for s in examples: 
-     result = rx.search(s) 
-     print(s, result.groups()) 
-   
				aW1wb3J0IHJlCgpleGFtcGxlcyA9IFsKICAgICJEMSIsICAgICAgICMgZXhwZWN0ZWQ6ICgnMScpCiAgICAiRDFzamRnZiIsICAjICgnMScpCiAgICAiRDEuMiIsICAgICAjICgnMScsICcyJykKICAgICJEMS4yLjMiLCAgICMgKCcxJywgJzInLCAnMycpCiAgICAiRDMuMTAuM3giLCAjICgnMycsICcxMCcsICczJykKICAgICJEMy4xMC4xMSIgICMgKCczJywgJzEwJywgJzExJykKXQoKcnggPSByZS5jb21waWxlKHInXkQoXGQrKSg/OlwuKFxkKykoPzpcLihcZCspKT8pPycpCgpmb3IgcyBpbiBleGFtcGxlczoKICAgIHJlc3VsdCA9IHJ4LnNlYXJjaChzKQogICAgcHJpbnQocywgcmVzdWx0Lmdyb3VwcygpKQo=
				
				
				
				
				
			 
			
				
			
			
				
	
		
		
	
	
		D1 ('1', None, None)
D1sjdgf ('1', None, None)
D1.2 ('1', '2', None)
D1.2.3 ('1', '2', '3')
D3.10.3x ('3', '10', '3')
D3.10.11 ('3', '10', '11')