I Text habe, wie unten angegeben, ich versuche, aussagekräftige Informationen aus dem Text zu extrahieren (Die Begriffe mit Großbuchstaben oder Ziffer beginnen)regex Entitäten zu finden (mit einem Kapital oder eine Ziffer beginnen)
The text is : "My name is Sam Helsen or Sam H Helsen son of M Helsen working at 3M technologies as the President of Sales"
die Informationen, die ich zu extrahieren versuchen in der genannten Liste gegeben:
info = ["My",'Sam Helsen', 'Sam H Helsen', 'M Helsen', '3M', 'President of Sales'
ich den unten regex verwendet habe, die einen Teil der Informationen aus der obigen Liste zu extrahieren, aber nicht alle.
Regex : re.findall(r'\b[A-Z1-9][\d\w]+(?:[\'\s-]\b[A-Z]\w+)*', sent, re.DOTALL)
Output: ['Sam Helsen', 'Sam', 'Helsen', 'Helsen', '3M', 'President', 'Sale']
Mit am regex suchen, ich verstehe, warum ich nicht in der Lage bin, alle Informationen zu holen, aber wenn ich die Regex ändern ändert es andere Ausgänge.
Jede Hilfe wird geschätzt.
Was ist die Logik dahinter, da ich nicht sehe, 'My' in der Liste? Oder in 'President of Sales' beginnt das Wort' of' mit Kleinbuchstaben? – AKS
Wie bestimmen Sie die Anzahl der Wörter ... z. warum '3M' und warum nicht' 3M technologies'? – rock321987
Sie werden nie eine Regex bekommen, die erkennt, dass "President of Sales" zusammen sein sollte, aber "Helsen oder Sam" sollte nicht. –