Extrahiere bis zum Ende der Zeile nach einem Sonderzeichen: Python

Ich brauche den String nach '#' in jeder Zeile und alle Zeilen haben das #. Ich habe bereits einen regulären Ausdruck, der mit der Zeile übereinstimmt, und wenn ich den Kommentarteil dazu hinzufüge, funktioniert dies nicht. Ich bekomme alle Zeilen nach dem ersten Kommentar als eine Gruppe.

Line Format:

Line1 blah blah... }}#Comment1 or it could be 
Line1 blah blah...}}# Comment1 

Entweder steht zwischen dem '#' und dem Kommentar ein Leerzeichen oder kein Leerzeichen. Im Moment passt es bis zu den ersten geschweiften Klammern.

Mein Code:

Linepattern = re.compile(r'\{(\s*(\w+)\s*|(\w+)|(\w+)\s*)\{(.*?)\}', re.DOTALL)
for match in Linepattern.finditer(infile):
    line = matches.group(5)
    #print line
    comment = matches.group(6)
    print comment   # Returns the first comment and then the entire set of lines until end of file

Ich habe meinen regulären Ausdruck folgendermaßen geändert:

Linepattern = re.compile(r'\{(\s*(\w+)\s*|(\w+)|(\w+)\s*)\{(.*?)\}\}(#.*)?', re.DOTALL)

Ich habe mir das angeschaut, was sehr nahe an dem liegt, wonach ich suche:Ausdruck bis Kommentar oder Zeilenende

Meine Ausgabe ist:

Comment1
Line2 # Comment2
Line3 # Comment3 and so on... 

Mein Zeilenformat:

Foo { bar { foo=0; } }# blah1 =1, blah2=1 , blah3 =1, blah#=1
FOO { bar { bar=1;bar=2; } }#comment 2

Antworten auf die Frage(1)

Ihre Antwort auf die Frage