Heim > Web-Frontend > js-Tutorial > Wie kann ich negative Lookbehind-Behauptungen in JavaScript simulieren?

Wie kann ich negative Lookbehind-Behauptungen in JavaScript simulieren?

Mary-Kate Olsen
Freigeben: 2024-12-26 16:27:13
Original
702 Leute haben es durchsucht

How Can I Simulate Negative Lookbehind Assertions in JavaScript?

Negative Lookbehind-Funktionalität in JavaScript erreichen

Negative Lookbehind-Behauptungen ermöglichen den Abgleich einer Zeichenfolge, die nicht mit einem bestimmten Zeichensatz beginnt. Trotz des Mangels an expliziter Unterstützung für negative Lookbehinds in JavaScript gibt es praktikable Alternativen.

Ab 2018 wurden Lookbehind-Assertions in die ECMAScript-Spezifikation integriert:

// Positive lookbehind:
(?<=...)

// Negative lookbehind:
(?<!...)
Nach dem Login kopieren

Pre -Ansatz 2018

Alternativ, wenn negativ Lookbehinds nicht verfügbar sind, ziehen Sie den folgenden Ansatz in Betracht:

  1. Kehren Sie die Eingabezeichenfolge um.
  2. Übereinstimmung mit einem umgekehrten regulären Ausdruck.
  3. Kehren Sie das Ergebnis um und formatieren Sie es neu Übereinstimmungen.

Zum Beispiel:

const reverse = (string) => {
  return string.split('').reverse().join('');
};

const test = (inputStrings, reversedRegex) => {
  inputStrings.map(reverse).forEach((reversedString, idx) => {
    const match = reversedRegex.test(reversedString);
    console.log(
      inputStrings[idx],
      match,
      'token:',
      match ? reverse(reversedRegex.exec(reversedString)[0]) : 'Ø'
    );
  });
};
Nach dem Login kopieren

Beispiel 1: Um „m“ in „jim“ oder „m“ zu finden, aber nicht drin „jam“:

test(['jim', 'm', 'jam'], /m(?!([abcdefg]))/);
Nach dem Login kopieren

Ausgabe:

jim true token: m
m true token: m
jam false token: Ø
Nach dem Login kopieren

Beispiel 2: Passend zu „max-height“, aber nicht „Zeilenhöhe“:

test(['max-height', 'line-height'], /thgieh(?!(-enil))/);
Nach dem Login kopieren

Ausgabe:

max-height true token: height
line-height false token: Ø
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich negative Lookbehind-Behauptungen in JavaScript simulieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage