/ / Was wertet der folgende Regex aus - Javascript, Regex

Was bewertet der folgende Regex - Javascript, Regex

Wie können wir den folgenden regulären Ausdruck interpretieren?

/^/products/(?:([^/]+?))(?:/([^/]+?))?/?$/i,

Ich verstehe es so etwas zu bewerten

/products/ (optional parameters)

Hinweis: Ich programmiere in Javascript. Node Framework um genau zu sein.

Antworten:

1 für die Antwort № 1

Im /^/products/(?:([^/]+?))(?:/([^/]+?))?/?$/i,

Der Erste / ist ein Regex-Begrenzer. ^ verweist auf den Anfang einer Zeichenfolge /products/

(?: Gruppe nicht erfassen

([^/]+?) Capture auf 1, jede Zeichenfolge außer /. Diese Zeichenfolge wird "am wenigsten ausgewählt", da sie nachgestellt wird ? schlussendlich. ")` beendet die Nichterfassungsgruppe.

(?: Eine andere Gruppe, die nicht erfasst wird, beginnt. Sie gruppiert, erfasst jedoch nicht / wegen Fluchtcharakter /.

([^/]+?) Capture auf 2, jede Zeichenfolge außer /. Diese Zeichenfolge wird "am wenigsten ausgewählt", da sie nachgestellt wird ? schlussendlich. ")` beendet die Nichterfassungsgruppe.

Ich bin mir nicht sicher ? am Ende von (?:([^/]+?))(?:/([^/]+?)) macht keinen Unterschied.

/? sucht ein Optinal /

$ vor einem optionalen n und dem Ende der Zeichenfolge

/i Lässt den regulären Ausdruck Groß- und Kleinschreibung ignorieren, damit er übereinstimmt /products/, `/ PROducts" usw. am Anfang.