4

検索しましたが、既存の回答はどれもうまくいきません。私の問題は次のとおりです。

一致を検索し、最初の文字から始まる一致する文字を強調表示する RegExp の次のコードがあります。

var newvals = [], regexp = new RegExp('\\b' + search.escapeRegExp(), insensitive ? 'ig' : '');

これは英語/米国の文字には問題なく機能しますが、ノルウェーのアルファベット「æøå」の特殊文字もあります。この正規表現を変更して特殊文字もカバーする方法はありますか?

編集: Sam Saint Pettersen からのヒントを適用した後 (ありがとう!)、特殊文字を表示するようになりましたが、検索を行うと、オートコンプリートは大文字または小文字のみに一致するようになりました。したがって、「Ø」と入力すると、大文字の「Ø」で始まるすべての単語が提案され、小文字の「ø」で始まる単語は提案されません。小文字検索でも同じことが起こります。ただし、通常の文字は通常、大文字と小文字の両方で表示されます。この問題は、特殊文字にのみ適用されます。何か案は?

4

1 に答える 1

7
var re = new RegExp(/[a-z\Wæøå]+/igm);

私はそれに対してそれを試しました:

Hva heter du?

へい。Min navn er Søren!

S-Ø-REN。

Jeg bor i et grønn hus og jeg også lærer japansk.

それに似合っていたようです。少なくともhttp://gskinner.com/RegExr/で

JavaScript を UTF-8 で保存すればうまくいくと思います。ノルウェー文字の Unicode エスケープは次のとおりです。

  • Æ\u00C6、æ\u00E6
  • Ø\u00D8、ø\u00F8
  • Å \u00C5、å \u00E5

お役に立てれば。

于 2013-04-15T11:43:52.963 に答える