Gibt es eine Möglichkeit zu testen, ob ein regulärer Ausdruck einen anderen regulären Ausdruck "enthält"?
Zum Beispiel:
regulärer Ausdruck "enthält" einen anderen regulären Ausdruck
RegEX1 = "a.*b";
RegEx2 = "a1.*b";
RegEX1 "enthält" RegEX2.
Soweit ich weiß - das kann nicht gemacht werden, liege ich falsch?
OK, Joel.Neely hat gezeigt, dass es getan werden kann (habe es noch nicht gelesen ...) akademisch.
Kann es in einer Programmiersprache gemacht werden, sagen wir C#?
Wie effektiv wird das sein? Wie lange dauert es, 1000 Paare zu testen?
Können Sie Ihr "Ja" klären. Ich denke, Sie sagen "Ja, Sie haben Unrecht" und zitieren das Papier, das zeigt, wie es getan werden kann (aus einem kurzen Blick auf das Papier). Aber es wäre es wert, dies explizit zu buchstabieren. –
Das erwähnte Papier sagt nur: "Es ist ein wohlbekanntes Ergebnis, dass für zwei reguläre Ausdrücke B und R leicht entscheidbar ist, ob B R subsumiert" und dann fortfährt, "Inhaltsmodelle" zu beschreiben. Außerdem scheint die Methode des Papiers einfach alle Strings mit der Länge
Clueless
Akzeptiert, obwohl es keinen praktischen Weg gibt, um ... – Dror