在正则表达式中忽略重音

时间:2012-11-02 10:04:26

标签: javascript html regex

  

可能重复:
  How to ignore acute accent in a javascript regex match?

我有一些javascript:

var myString = 'préposition_preposition';
var regex = new RegExp("epo", "ig");
alert(myString.match(regex));

是否可以匹配“épo”和“epo”,如果我只使用正则表达式(或只有épo)?

3 个答案:

答案 0 :(得分:3)

我最近遇到了同样的问题。正则表达式使用ascii,因此无法识别éß等特殊字符。你需要明确地将它们包含在你的正则表达式中。

使用此:

var regex = /[ée]po/gi;

提示:不要使用new Regex()它相当慢,而是直接声明正则表达式。这也解决了一些引用/逃避问题。

答案 1 :(得分:0)

不,你无法实现这种行为。 RegEx完全匹配您提供的字符串。如果您正在寻找époepo,计算机应该如何知道!

但您可以指定可与new RegExp("[eé]po", "ig");匹配的class of chracters

答案 2 :(得分:-1)

试试这个:

var str = 'préposition_preposition';
str.match(/(e|é)po/gi);