2017-01-24 1 views
-10

Ich versuche, das Regex-Modul in Python zu verwenden. Zum Beispiel habe ich zwei Strings:Suche nach einer Zeichenfolge in Python

Профессиональная ГИС "Панорама" (версия 12.4.0, для платформы "x64") 
Профессиональная ГИС "Панорама" (версия 12.4.0, для платформы "x32") 

Zahlen nach 12 sind veränderbar und können mehr als zwei Zahlen sein. Wie kann ich zum Beispiel alle ersten Saiten fangen?

+6

Können Sie * irgendeinen * Aufwand bei der Lösung dieses Problems demonstrieren? –

+5

Was bedeutet "aller erster String" in Ihrem Fall? – RomanPerekhrest

+0

@ScottHunter war es meine Schuld, keine Bemühungen zu demonstrieren. Aber jetzt ist es egal für mich, Pflicht zu unten Antworten, die ich verstanden habe, wie ich mit regexp arbeiten muss – user3798175

Antwort

0

Es ist nicht ganz klar, was die Bedingungen sind. Basierend auf Ihre Kommentare Ich glaube, Sie für die folgende regex aussehen:

r"Профессиональная ГИС \"Панорама\" \(версия 12(\.\d+){2,}, для платформы \"x(32|64)\"\)" 

Dies wird nach der 12. eine beliebige Folge von Punkten und Zahlen entsprechen (so zum Beispiel 12.4.51.3.002 erlaubt ist), und darüber hinaus sowohl x64 und x32 sind erlaubt (nicht x42).

Sie können die Regex unter regex101 testen.

+0

Vielen Dank, jetzt habe ich mehr verstanden. Ich habe diesen Service ausprobiert, aber vielleicht hatte ich eine gewisse Langeweile. – user3798175

0

Sie können das unten versuchen. Wenn Sie optionale Zahlen nach 12 haben, können Sie das Symbol ? dem regulären Ausdruck zuordnen.

Профессиональная ГИС "Панорама" \(версия 12.[0-9]?[0-9].[0-9]?[0-9], для платформы "x(32|64)"\) 
+0

Vielen Dank auch – user3798175

Verwandte Themen