我试图让机器人在文本中爬行,并以高度准确的方式吸收所有专有名词/短语。因此,任何一个句子中的大写字母,任何一个连续的大写字母都被认为是同一个短语的一部分(和列表项)。p>
到目前为止,我已经:
tag_string = re.findall('([a-zA-Z]+)\s([A-Z][a-z]*)\s([a-zA-Z]+)', in_string)
与前一个句点的专有名词有冲突。还接受周围的小写单词
我还有:
#tag_string = re.findall('([a-zA-Z]+)\s([A-Z][a-z]*)(\s([a-zA-Z]+)|\.)', in_string)
这需要更多的小写字母,但不太容易受到前一时期问题的影响。我已经做了好几个小时了。有人知道我做错了什么吗
一种选择是匹配所有内容,确保匹配时间段。然后可以过滤掉包含句点的所有匹配项
像这样的
\.? *[A-Z][a-z]*
然后,您可以过滤掉不符合要求的匹配项
相关问题 更多 >
编程相关推荐