Heim > Web-Frontend > js-Tutorial > Kann ein negativer Lookahead den Regex-Lookbehind in JavaScript nachahmen?

Kann ein negativer Lookahead den Regex-Lookbehind in JavaScript nachahmen?

Susan Sarandon
Freigeben: 2024-11-12 21:30:02
Original
579 Leute haben es durchsucht

Can Negative Lookahead Mimic Regex Lookbehind in JavaScript?

Negativer Lookahead in JavaScript: Eine Alternative zum Regex-Lookbehind

Frage:

In JavaScript, dem der Regex-Lookbehind fehlt, Gibt es eine Möglichkeit, ein bestimmtes Muster abzugleichen und ein bestimmtes auszuschließen? Bedingung?

Antwort:

Vor ECMAScript 2018 unterstützte JavaScript negative Lookbehind-Behauptungen nicht nativ. Hier ist ein alternativer Ansatz:

^(?:(?!filename\.js$).)*\.js$
Nach dem Login kopieren

Erklärung:

Diese Regex simuliert Lookbehind, indem sie jedes Zeichen der Zeichenfolge explizit überprüft. Wenn der Lookbehind-Ausdruck („filename.js$“), gefolgt vom Rest des regulären Ausdrucks („.js$“), nicht mit dem aktuellen Zeichen übereinstimmt, ist das Zeichen zulässig.

^                 # Start of string
(?:               # Try to match the following:
 (?!              # First assert that we can't match the following:
  filename\.js    # filename.js 
  $               # and end-of-string
 )                # End of negative lookahead
 .                # Match any character
)*                # Repeat as needed
\.js              # Match .js
$                 # End of string
Nach dem Login kopieren

Seitdem ist jedoch eine einfachere Alternative aufgetaucht:

^(?!.*filename\.js$).*\.js$
Nach dem Login kopieren

Dieser letztere Ansatz ist effizienter, da er den Lookahead nicht jedes Mal überprüft Charakter.

^                 # Start of string
(?!               # Assert that we can't match the following:
 .*               # any string, 
  filename\.js    # followed by filename.js
  $               # and end-of-string
)                 # End of negative lookahead
.*                # Match any string
\.js              # Match .js
$                 # End of string
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonKann ein negativer Lookahead den Regex-Lookbehind in JavaScript nachahmen?. 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