Es gibt keinen Unterschied im allgemeinen Regex-Verhalten in JavaScript und in anderen Sprachen. Die Aufgabe erfordert grundsätzlich, dass Sie die restriktivste Regex angeben, die den bereitgestellten Mustern entspricht. Sie bieten auch eine alternative Antwort, um zu zeigen, dass Sie das Muster auch mit einer weniger restriktiven Regex vergleichen können. Die Dinge suchen mit den dafür vorgesehenen Mustern sind die folgend:
- Es gibt immer Paare von
a
es: aa
, aaaa
- Es gibt 0 oder mehr
b
es: b
, bbbb
, keine b
- ist 1 oder mehr
c
am Ende: cc
, c
, cc
- die Buchstaben in dieser Reihenfolge immer kommen:
abc
Es gibt eine Menge von regex Sie um aufwarten kann diese vier Bedingungen anzupassen, so dass Sie die restriktivste eine Bereitstellung müssten, um zu versuchen, um die Daten außerhalb dieser Beispiele zu minimieren. Selbst mit der angegebenen Antwort stimmen Sie unendlich viele andere Saiten ab.
Eine noch restriktivere regex wäre:
^(aa)+b*c+$
Hier ist die regex erfordert, dass die Zeichenfolge mit aa
beginnt und endet mit einem c
. Ich nehme an, dass die Lektionen immer noch nicht an ^
und $
gelangt sind und die Antwort daher nicht diese enthält.
Können Sie mir bitte ein Beispiel geben, wie meine Lösung scheitern könnte? Ich würde es für das Lernen schätzen :) – loki9
Es kann nicht auf ihre Beispiele. Wenn sie ein Beispiel hätten, in dem sie sagten "es kann keine leere Zeichenfolge finden", dann wäre Ihre Lösung falsch gewesen; aber sie taten es nicht, also ist es nicht. Es ermöglicht lediglich mehr Lösungen als ihre Lösungen. Tatsächlich sagen sie im dritten Absatz sogar etwas Ähnliches. Wo hast du gesehen, dass "die Lösung" aa + b * c + 'oder' a * b * c * '" ist? – Amadan
unter dem Textfeld, in das Sie Ihre Lösung eingeben. Dort steht ein Text, der besagt: "Löse die obige Aufgabe, um mit der nächsten Lektion fortzufahren, oder lies die Lösung." Klicken Sie auf den Lösungslink – loki9