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-Ø-任。

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 回答