die Begrenzungs Zeichen Trimmen, erhalten wir \|(?=\w=>)
|
ein spezielles Zeichen in regex ist, so dass es mit einem Backslash als \|
(?=REGEX)
ist Syntax für positiven Vorgriff entgangen sein sollte: paßt nur, wenn REGEX
passt, aber nicht die Teilzeichenfolge, die REGEX
entspricht. Die Übereinstimmung mit REGEX
wird nicht Teil des übereinstimmenden Ergebnisses. Wäre es nur \|\w=>
gewesen, würde die übergeordnete Zeichenfolge um |a=>
statt |
aufgeteilt werden.
So /\|(?=\w=>)/
Matches nur die |
Zeichen, die von \w=>
befolgt werden. Sie paßt |a=>
aber nicht |a>
, ||
usw.
das Beispiel Zeichenfolge aus der verknüpften Frage vor: a=>aa|b=>b||b|c=>cc
. Wenn es nicht für den Lookahead gäbe, würde split ein Array von [a=>aa, b||b, cc]
ergeben. Mit Lookahead erhalten Sie [a=>aa, b=>b||b, c=>cc]
, was die gewünschte Ausgabe ist.