JavaScript RegExp Word Boundaries Unicode 文字
質問:
文字列に JavaScript の RegExp を使用する場合フィンランド語のテキストで ä、ö、å などの特殊文字を使用する場合、単語境界 b はこれらの文字で始まる単語と一致しません。 Unicode 文字の適切なマッチングを可能にするために、この問題をどのように解決できますか?
回答:
b ワード境界メタキャラクターは、先頭で Unicode 文字をマッチングする際に制限に直面する可能性があります。文字列。これに対処するには:
Replace \b with (?:^|\s)
内訳:
例:
次のコードは、b の代わりに非キャプチャ グループを使用してフィンランド語の単語と Unicode 文字を一致させる方法を示しています。
<code class="js">var title = "this is simple string with finnish word tämä on ääkköstesti älkää ihmetelkö"; var searchterm = "äl"; if (new RegExp("(?:^|\s)" + searchterm, "gi").test(title)) { console.log("Match:", searchterm, title); } else { console.log("Nothing found:", searchterm); }</code>
このアプローチ文字列の先頭または空白のいずれかを単語の境界と見なすため、Unicode 文字列「ääkköstesti」の検索語「äl」と正常に一致します。
以上がJavaScript RegExp を使用してフィンランド語テキスト内の単語の境界を Unicode 文字と一致させる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。