Eine Aussage wie:Wie Regex eine Aussage mit optionalen Endteil übereinstimmen?
[string1...] string2 in english/chinese (string3...)
string3 ist in ()
und ist optional.
Ich schreibe einen RegexMuster in Python:
(\[(?P<string1>.*)\])\s*(?P<string2>.*)\s(\((?P<string3>.*)\))?
Aber wie *
ist gierig Spiel und string3 wird innerhalb Zeichenfolge2 analysiert werden.
Ich benutze Look-Ahead-Spiel string3 wie:
(\[(?P<string1>.*)\])\s*(?P<string2>.*(?=\())\s*((?P<string3>.*)\))?
Aber ist auch kein Spiel.
Wie soll ich die drei Übereinstimmung Teil bekommen, und der letzte Teil ist optional innerhalb ()
?
@anubhava keine anderen möglichen Eingaben, die alle in diesem Muster sind. –
Hat die Eingabe am Ende ein Literal '?', Wie in Frage gezeigt? – anubhava
@anubhava Entschuldigung, das letzte '?' Zeigen String3 ist optional, ich werde es im Klartext entfernen –