Matching homologous groups Homologous series, any of numerous groups of chemical compounds in each of which the difference between successive members is a simple structural unit.
As an example, Alkane is a homologous group where the chemical compounds are in \$C_nH_{2n+2}\$ format. \$CH_4\$ (Methane) is part of the Alkane group because \$CH_4 \to C_{1}H_{2\cdot 1+2}\$ and there because there is \$n=1\$ carbon atom, so there should be \$2n+2\$ hydrogen atoms. And there is \$2×1+2 = 4\$ hydrogen atoms. So Methane or \$CH_4\$ qualifies for the Alkane group.
In this challenge we will be matching against 6 homologous groups:

Alkane          : \$C_nH_{2n+2}\$
Alkene          : \$C_nH_{2n}\$
Alkyne          : \$C_nH_{2n-2}\$
Alcohol         : \$C_nH_{2n+1}OH\$
Aldehyde        : \$C_nH_{2n+1}CHO\$
Carboxylic Acid : \$C_nH_{2n+1}COOH\$

Input format will be like CH_4 \$ \to CH_4\$, CH_3CHO \$ \to CH_3CHO \$, meaning that you need to write the subscript using an underscore (_). Output should be the group the compound belongs to.
Test Cases
CH_4 -&gt; Alkane
C_2H_4 -&gt; Alkene
C_2H_2 -&gt; Alkyne
CH_3OH -&gt; Alcohol
CH_3CHO -&gt; Aldehyde
CH_3COOH -&gt; Carboxylic Acid

Standard loopholes apply, shortest code wins. Input is guaranteed to be in these 6 categories and valid. Output needs to be exactly capitalized as in question. \$n\$ can be less than 2 (if it is omitted assume it is 1). There will be no leading zeros in \$n\$.
Python 3, 134 bytes
-3 bytes thanks to @tsh
Note that it fails for CH_2. It is unclear whether such a test case is valid, but I will keep this solution for now.

lambda e:['Aldehyde','Alcohol','Carboxylic Acid',0][e[::-1].rfind('O')]or'Alk%sne'%'eay'[eval(e.translate({67:45,72:43,95:43})+'//2')]

Try it online!
Python 3, 137 bytes
Works for all cases including CH_2.

lambda e:['Aldehyde','Alcohol','Carboxylic Acid',0][e[::-1].rfind('O')]or'Alk%sne'%'yae'[eval(e.translate({67:43,72:43,95:'~-'})+'//-2')]

Try it online!