2016-12-02 5 views
0

Ich bin regulärer Ausdruck Neuling. Ich habe ein Begrenzungsproblem, um einen Inhalt von einer Linie der Schnur in Python3 zu erfassen.Eine Regex Grenze in Python3

Lassen Sie uns sagen, dass ich die Linie der Zeichenfolge haben hier:

line = "(string1),DC (string2),IC\n"

Was ich will, ist list = ["(string1)", "(string2)"]


Ich versuchte

list = regex.findall("(\(.*\))", line)

zu verwenden, aber es zurück list = ["(string1),DC (string2)"]

+1

'list = regex.findall (r "\ (* \).?", Line) 'oder' list = regex.findall (r "\ ([^()] * \)", Zeile) ' –

Antwort

1

Sie benötigen '(' und ')' zu überspringen und das Wort zwischen ihnen wie folgt wählen:

>>> import re 
>>> 
>>> line = "(string1),DC (string2),IC\n" 
>>> re.findall("\(\w+\)", line) 
['(string1)', '(string2)']