Wie verstehe ich regelmäßigen Ausdruck mit Python?

Ich bin neu mit python Könnte jemand mir helfen, wie ich einen regulären Ausdruck erstellen kann, der eine Liste von Strings wie folgt gegeben hat:

test_string = "pero pero CC tan tan RG antigua antiguo AQ0FS0 que que CS según según SPS00 mi mi DP1CSS madre madre NCFS000" 

Wie man ein Tupel wie folgt zurückgibt:

 > ([madre, NCFS00],[antigua, AQ0FS0]) 

Ich möchte das Wort mit dem damit verbundenen Tag zurückgeben. Test_string, das ist was ich getan habe:

 # -- coding: utf-8 -- import re #str = "pero pero CC " \ "tan tan RG " \ "antigua antiguo AQ0FS0" \ "que que CS " \ "según según SPS00 " \ "mi mi DP1CSS " \ "madre madre NCFS000" tupla1 = re.findall(r'(\w+)\s\w+\s(AQ0FS0)', str) print tupla1 tupla2 = re.findall(r'(\w+)\s\w+\s(NCFS00)',str) print tupla2 

Die Ausgabe ist folgende:

[('Antigua', 'AQ0FS0')] [('madre', 'NCFS00')]

Das Problem mit dieser Ausgabe ist, dass, wenn ich es an test_string ich die "order" oder "Vorkommen" der Tags beibehalten (dh ich kann nur ein Tupel nur dann drucken, wenn sie die folgende Reihenfolge haben: AQ0FS0 und NCFS000 in Andere Wörter: weiblich Adjektiv, weiblich Substantiv).

  • Was ist die beste Flucht Charakter Strategie für Python / MySQL Combo?
  • Python 3: Wie bekomme ich eine String-Literal-Darstellung eines Byte-Strings?
  • Entkommen html in python
  • Escape String Python für MySQL
  • Wie benutzt man '\ Q' und '\ E' Regex Symbole in Python?
  • In Python ist es möglich, Zeilenumbrüche beim Drucken eines Strings zu entgehen?
  • One Solution collect form web for “Wie verstehe ich regelmäßigen Ausdruck mit Python?”

     ^([a-zA-Z]+)\s+[a-zA-Z]+\s+([\w]+(?=\d$)\d) 

    Dont wirklich wissen, die Basis für diese Auswahl, aber immer noch können Sie es wie this.Just greifen die captures.Dont vergessen, um die Flaggen g und m.See Demo gesetzt.

    http://regex101.com/r/nA6hN9/38

    Python ist die beste Programmiersprache der Welt.