Ich möchte Nettogewinn aus der Aussage, mit "Nettogewinn" als nicht erfassender Teil extrahieren. Nicht sicher, wie es zu tun (kann ein nicht Capturing hinter sehen sein?)Non Capturing Look hinter in Regex Python
zB
'Business-Venture von Nettogewinn von 23,5 Mio. US-Dollar'
erforderlich o/p:
23,5 Mio.
angewendet, um die f ach regex:
(net|nt)\s*\.?\s*(profit|earnings)\s*\.?\s*\d+\.?\d*\.?\s*(?:lakh|crore|million)
Aber es ist
[('net', 'Gewinn')]
als Ausgang zu geben.
Ja, Sie haben Gruppen, die erfassen. Haben Sie sich die ['re 'Moduldokumentation] (https://docs.python.org/3/library/re.html#regular-expression-syntax) angeschaut und finden Sie die Lookbehind-Assertionssyntax (' (? <=. ..) ') noch? IIRC kann man in einer Behauptung wie dieser jedoch keine Muster mit variabler Breite ('*') verwenden. Vielleicht wollten Sie nur die Gruppen * non-captaining * (wie die Gruppe, die Sie nachstellen)? –
Sie können ['ne? T \ s * \.? \ S * (?: Gewinn | Gewinn) \ s * (\.? \ S * \ d + \.? \ D * \.? \ S * (?: lakh | crore | million)) '] (https://regex101.com/r/7yw1pn/1) – anubhava
Aditya, nicht [diese Antwort] (http://stackoverflow.com/a/43973389/3832970) Arbeite für dich? –