  # Format of Accept-Language header values. From RFC 2616, section 14.4 and 3.9
  # and RFC 3066, section 2.1
  accept_language_re = re.compile(r'''
          ([A-Za-z]{1,8}(?:-[A-Za-z0-9]{1,8})*|\*)      # "en", "en-au", "x-y-z", "es-419", "*"
          (?:\s*;\s*q=(0(?:\.\d{,3})?|1(?:.0{,3})?))?   # Optional "q=1.00", "q=0.8"
          (?:\s*,\s*|$)                                 # Multiple accepts per header.
          ''', re.VERBOSE)
  
  language_code_re = re.compile(
      r'^[a-z]{1,8}(?:-[a-z0-9]{1,8})*(?:@[a-z0-9]{1,20})?$',
 
</s> remove             try:
                priority = float(priority)
            except ValueError:
                return []
 </s> add             priority = float(priority) </s> remove         self.assertEqual([], p('en; q=1,'))
 </s> add         self.assertEqual([], p('en;q=1e0'))
        (?:\s*;\s*q=(0(?:\.\d{,3})?|1(?:\.0{,3})?))?  # Optional "q=1.00", "q=0.8"
  # Format of Accept-Language header values. From RFC 2616, section 14.4 and 3.9
  # and RFC 3066, section 2.1
  accept_language_re = re.compile(r'''
          ([A-Za-z]{1,8}(?:-[A-Za-z0-9]{1,8})*|\*)      # "en", "en-au", "x-y-z", "es-419", "*"
        (?:\s*;\s*q=(0(?:\.\d{,3})?|1(?:\.0{,3})?))?  # Optional "q=1.00", "q=0.8"
          (?:\s*,\s*|$)                                 # Multiple accepts per header.
          ''', re.VERBOSE)
  
  language_code_re = re.compile(
      r'^[a-z]{1,8}(?:-[a-z0-9]{1,8})*(?:@[a-z0-9]{1,20})?$',
keep keep keep keep replace keep keep keep keep keep
 Fixed #26744 -- Fixed a typo in regex for Accept-Language header parsing. 
django/utils/translation/trans_real.py