正则表达式根据名称值对列表中的值模式提取名称 - python

我有这个代码

x = "('A', 'NN'), ('B', 'AP'), ('C', 'RB'), ('D', 'NNP')"
m = re.findall(r"\('(.*?)', 'NN[.]?'\)", x)
print(m)

我想要的是仅在其对应元素为NN或NN的任何扩展名(如NNP,NND)的情况下提取诸如A B C D的文本。

所以输出应该是A和D

但当前输出为['A']

python大神给出的解决方案

试试这个,并使用findall而不是search

re.findall(r"\('([^']+)', 'NN[^']?'\)", x)