正则表达式特殊字符

时间:2013-04-15 10:58:57

标签: javascript regex

我搜索过,现有的答案都不适合我。我的问题如下:

我有RegExp的这段代码,用于搜索匹配并突出显示匹配字母的字母:

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

这适用于英文/美国字母,但我也有挪威字母“æøå”中的特殊字符。知道我怎么能改变这个正则表达式来覆盖特殊字符吗?

编辑:应用Sam Saint Pettersen的提示后(谢谢!),我让它显示特殊字符,但是当我进行搜索时,自动完成现在只匹配大写或小写字母。因此,如果我输入“Ø”,它会建议以大写字母开头的所有单词,而不是以小写字母“ø”开头的单词。小写搜索也是如此。但是,常规字母通常显示大写和小写。此问题仅适用于特殊字符。 有什么想法吗?

1 个答案:

答案 0 :(得分:6)

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

我尝试过反对:

  

Hva heter du?

     

平。 Min navnerSøren!

     

S-O-R-E-N

     

Jeg bor ietgrønhnusogjegogsålærerjapansk。

似乎与之匹配。至少在http://gskinner.com/RegExr/

我认为如果您将JavaScript保存为UTF-8,这将有效。 挪威字母的Unicode转义符是:

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

希望这有帮助。