2017-08-04 4 views
0

Ich versuche, einige Teilzeichenfolgen aus einer anderen Zeichenfolge zu extrahieren, und ich habe Muster identifiziert, die die richtigen Ergebnisse liefern sollten, aber ich denke, es gibt einige kleine Fehler in meiner Implementierung .Regex Formel, um eine Zeichenfolge zwischen zwei anderen Zeichenfolgen oder Zeichen zu finden

s = 'Arkansas BaseballMiami (Ohio) at ArkansasFeb 17, 2017 at Fayetteville, Ark. (Baum Stadium)Score by Innings123456789RHEMiami (Ohio)000000000061Arkansas60000010X781Miami (Ohio) starters: 1/lf HALL, D.; 23/3b YACEK; 36/1b HAFFEY; 40/c SENGER; 7/dh HARRIS; 8/rf STEPHENS; 11/ss TEXIDOR; 2/2b VOGELGESANG; 5/cf SADA; 32/p GNETZ;Arkansas starters: 8/dh E. Cole; 9/ss J. Biggers; 17/lf L. Bonfield; 33/c G. Koch; 28/cf D. Fletcher; 20/2b C. Shaddy; 24/1b C Spanberger; 15/rf J. Arledge; 6/3b H. Wilson; 16/p B. Knight;Miami (Ohio) 1st - HALL, D. struck out swinging.' 

Hier ist mein Versuch, regex Formeln meine gewünschten Ausgänge zu erreichen:

teams = re.findall(r'(;|[0-9])(.*?) starters', s) 
pitchers = re.findall('/p(.*?);', s) 

Die Suche Krügen scheint zu stehen, aber die Teams gibt der folgende:

[('1', '7, 2017 at Fayetteville, Ark. (Baum Stadium)Score by Innings123456789RHEMiami (Ohio)000000000061Arkansas60000010X781Miami (Ohio)'), ('1', '/lf HALL, D.; 23/3b YACEK; 36/1b HAFFEY; 40/c SENGER; 7/dh HARRIS; 8/rf STEPHENS; 11/ss TEXIDOR; 2/2b VOGELGESANG; 5/cf SADA; 32/p GNETZ;Arkansas')] 

SOLL-AUSGÄNGE :

['Miami (Ohio)', 'Arkansas'] 
[' GNETZ', ' B. Knight'] 

Ich kann mir Sorgen machen, die führenden Räume in den Pitchernamen später zu entfernen.

Antwort

1

(;|[0-9]) kann durch [;0-9] ersetzt werden. Dann denke ich, was du zu sagen versuchst ist "hol mir die Zeichenfolge vor starters und direkt nach der letzten Nummer/Semikolon, die vor der starters kommt", für die du sagen kannst "es darf keine anderen Zahlen/Semikola dazwischen geben" , dh

teams = re.findall(r'[;0-9]([^;0-9]*) starters', s) 
+0

Ehrfürchtig, tut genau, was ich brauchte. Danke für die gründliche Erklärung! – rahlf23

Verwandte Themen