Heim > Web-Frontend > js-Tutorial > Wie ordne ich Nicht-ASCII-Zeichen Wortgrenzen in JavaScript Regex zu?

Wie ordne ich Nicht-ASCII-Zeichen Wortgrenzen in JavaScript Regex zu?

Barbara Streisand
Freigeben: 2024-10-27 04:46:29
Original
663 Leute haben es durchsucht

How to Match Non-ASCII Characters with Word Boundaries in JavaScript Regex?

Übereinstimmung von Nicht-ASCII-Zeichen in JavaScript-Regex mit Wortgrenzen

In JavaScript kann das RegExp-Objekt mit Wortgrenzen (b) übereinstimmen Einschränkungen beim Umgang mit Nicht-ASCII-Zeichen wie finnischen Vokalen (ä, ö und å). Um diese Zeichen genau zuzuordnen, müssen wir unseren Ansatz anpassen.

Bedenken Sie den folgenden Code:

<code class="javascript">var title = "this is simple string with finnish word tämä on ääkköstesti älkää ihmetelkö";
var searchterm = "äl";

if (new RegExp("\b" + searchterm, "gi").test(title)) {
  // This does not work for "äl"
}</code>
Nach dem Login kopieren

Dieser Code versucht, den Begriff „äl“ im Titel mithilfe der b-Grenze zu finden . Dies schlägt jedoch fehl, da b Wortgrenzen basierend auf dem standardmäßigen 256-Byte-Bereich abgleicht, mit Ausnahme von Nicht-ASCII-Zeichen.

Lösung: Nicht erfassende Gruppe mit Wortgrenze

Um dieses Problem zu beheben, können wir b durch eine nicht einfangende Gruppe ersetzen, die explizit entweder dem Anfang der Zeichenfolge oder einem Leerzeichen entspricht:

<code class="javascript">if (new RegExp("(?:^|\s)" + searchterm, "gi").test(title)) {
  // Now it works for "äl"
}</code>
Nach dem Login kopieren

Aufschlüsselung:

  • (?:...): nicht einfangende Gruppe
  • ^: Anfang der Zeichenfolge
  • s: Leerzeichen
  • |: „oder“-Operator

Dieser geänderte Code passt zum Begriff „äl“ im Titel, da er eine flexiblere Randbedingung für den Wortanfang definiert, die Nicht-ASCII-Zeichen enthält.

Das obige ist der detaillierte Inhalt vonWie ordne ich Nicht-ASCII-Zeichen Wortgrenzen in JavaScript Regex zu?. 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