code: def parse_pseudo_lang(self, sel, m, has_selector):
          
  
          values = m.group('values')
          patterns = []
          for token in RE_VALUES.finditer(values):
              if token.group('split'):
                  continue
              value = token.group('value')
              if value.startswith(('"', "'")):
                  parts = css_unescape(value[1:-1], True).split('-')
              else:
                  parts = css_unescape(value).split('-')
  
              new_parts = []
              first = True
              for part in parts:
                  if part == '*' and first:
                      new_parts.append('(?!x\b)[a-z0-9]+?')
                  elif part != '*':
                      new_parts.append(('' if first else '(-(?!x\b)[a-z0-9]+)*?\\-') + re.escape(part))
                  if first:
                      first = False
              patterns.append(re.compile(r'^{}(?:-.*)?$'.format(''.join(new_parts)), re.I))
          sel.lang.append(ct.SelectorLang(patterns))
          has_selector = True
  
          return has_selector
docs: Parse pseudo language.