我有一个字符串包含单词,每个单词都有自己的标记(例如NN/NNP/JJ等)。我想采取包含NNP令牌的重复单词。到目前为止我的代码:在Python中使用正则表达式从字符串中提取具有特定字符的单词列表
import re
sentence = "Rapunzel/NNP Sheila/NNP let/VBD down/RP her/PP$ long/JJ golden/JJ hair/NN in Yasir/NNP"
tes = re.findall(r'(\w+)/NNP', sentence)
print(tes)
代码的结果是:
['Rapunzel', 'Sheila', 'Yasir']
正如我们看到的,有3个字包含NNP那些长发公主/ NNP希拉/ NNP(旁边显示对方)和Yasir/NNP(与其他NNP词汇分开)。我的问题是我需要用重复的NNP和另一个来重复这个词。我预期的结果是这样的:
['Rapunzel/NNP', 'Sheila/NNP'], ['Yasir/NNP']
什么是执行此任务的最佳途径,谢谢。
你确定你需要'[ '长发公主/ NNP', '希拉/ NNP'],[ '亚西尔/ NNP']',而不是'[ '长发公主',“希拉'],['Yasir']'?你在'\ w +'周围的模式中设置了一个捕获组 - 它是一个“错字”吗? –
@WiktorStribiżewya,我实际上需要保留令牌(NNP)以进一步处理。 '\ w +'不是拼写错误,我想它的意思是在'/ NNP'之前检测任何字母。纠正我,如果我错了。谢谢 – ytomo
我的意思是括号。然后用Tim的建议。 –