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 |
?
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 |
?
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.
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
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 AusdrucksKurz gesagt wird der String auf |
aufgeteilt, wenn er von einem alphanumerischen Zeichen oder Unterstrich gefolgt wird und dann von =>
.
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 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.