Ich lese den Code eines regulären Ausdruck Parsers, und frage mich, ob die Syntax der regulären Ausdruck selbst regelmäßig ist, und kann mit einem anderen (ziemlich kompliziert) regulären Ausdruck ausgedrückt werden?Kann ein regulärer Ausdruck selbst mit einem regulären Ausdruck analysiert werden?
rere = "" # the regular expression of regular language
match1 = re.match(rere, "[a-z][email protected][a-z]+.com") # True
match2 = re.match(rere, ")az[") # False
Ich sehe keine rekursive Struktur in regulären Ausdruckssyntax, also denke ich, dass dies machbar ist?
Wenn ja, wie sieht der Ausdruck aus? Wenn nicht, warum?
Nein. Sie benötigen kontextfreie Grammatik zum Analysieren des regulären Ausdrucks. Verschachtelte Klammern können nicht mit (theoretischem) regulärem Ausdruck analysiert werden. – nhahtdh
Ja, verschachtelte Klammern. Ich habe das vergessen. Aber wenn ich die Gruppe innerhalb der Gruppe nicht unterstütze, wäre die Antwort anders? – NeoWang
@NeoWang: Dann ist das, was Sie haben, schwächer als der reguläre Ausdruck. es gibt Sprachen, in denen regulärer Ausdruck/reguläre Grammatik beschrieben werden kann, aber nicht Ihre Grammatik. – nhahtdh