5 Stimmen

Was bedeutet der reguläre Ausdruck \|(?=\w=>)?

Ich bin ein Amateur in JavaScript. Ich habe diese andere (jetzt gelöschte) Frage gesehen und mich gefragt. Kannst du mir sagen, was genau der folgende reguläre Ausdruck bedeutet?

split(/\|(?=\w=>)/)

Teilt es den String mit |?

7voto

Jens Punkte 24565

Der reguläre Ausdruck befindet sich zwischen den Schrägstrichen. Es bedeutet

\|        # Ein vertikaler Strich. Er muss mit einem Backslash maskiert werden, da er sonst "ODER" bedeutet
(?=       # eine sogenannte Lookahead-Gruppe. Es überprüft, ob ihr Inhalt 
          # an der aktuellen Position übereinstimmt, ohne tatsächlich im String voranzuschreiten
   \w=>   # ein Wortzeichen (a-z, A-Z, 0-9, _) gefolgt von =>
)         # Ende der Lookahead-Gruppe.

4voto

codaddict Punkte 426877

Es teilt den String an | auf, aber nur, wenn es von einem Zeichen in [a-zA-Z0-9_] gefolgt wird und =>

Beispiel:

Es wird a|b=> am | aufteilen

Es wird a|b nicht am | aufteilen

2voto

KooiInc Punkte 111454

Es teilt den String bei jedem '|' gefolgt von (?) einem alphanumerischen Zeichen (\w, Kurzform für [a-zA-Z0-9_]) + der Zeichenfolge '=>'.

Hier ist ein Link, der Ihnen helfen kann, reguläre Ausdrücke in JavaScript zu verstehen

1voto

Andy E Punkte 324972

Aufschlüsselung des regulären Ausdrucks:

  • / regulärer Ausdruck Literaler Startbegrenzer
  • \| entspricht | im String, | ist ein Sonderzeichen in regex, also wird \ verwendet, um es zu escapen
  • (?= Ist ein Lookahead-Ausdruck, der prüft, ob ein String dem Ausdruck folgt, ohne ihn zu matchen
  • \w=> entspricht einem beliebigen alphanumerischen String (einschließlich _), gefolgt von =>
  • )/ markiert das Ende des Lookahead-Ausdrucks und das Ende des regulären Ausdrucks

Kurz gesagt wird der String auf | aufgeteilt, wenn er von einem alphanumerischen Zeichen oder Unterstrich gefolgt wird und dann von =>.

0voto

Quick Joe Smith Punkte 7836

In diesem Fall wird das Pipe-Zeichen maskiert, sodass es als wörtlicher Pipe behandelt wird. Die Aufteilung erfolgt bei Pipes, die von alphanumerischen Zeichen und '=>' gefolgt werden.

Das '|' wird auch in regulären Ausdrücken als eine Art ODER-Operator verwendet. Zum Beispiel:

split(/k|i|tt|y/)

Würde sich auf ein 'k', ein 'i', ein 'tt' oder ein 'y'-Zeichen aufteilen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X