Javascript正则表达式匹配法语字符

时间:2017-11-15 19:04:08

标签: javascript regex diacritics french

我需要将带有法语字符(dérange)的单词与正则表达式匹配。到目前为止,我有这个:



    var text = "An inconvenient (qui dérange) truth";
    var splitText = text.trim().match(/\w+|\s+|[^\s\w]+/g);
    
    console.log(splitText);




但是,它将é视为单独的字母。为什么?

我需要在match()方法中使用正则表达式,以便splitText对象还包含单词déranger,而不包含三个单词dérange就像现在一样。

2 个答案:

答案 0 :(得分:1)

您可以尝试使用正则表达式split method来获取文字中的所有字词,这是一个有效的例子:



var text = "An inconvenient (qui dérange) truth";

var splitText = text.trim().split(/\s+/);

console.log(splitText);




答案 1 :(得分:0)

似乎你想要从非空格中分配空格。但是,非空格有两种表达式:\w+(匹配[a-zA-Z_0-9]+)和[^\s\w]+(匹配其他所有内容,除了空白外 - 所以这与单独的é匹配只需将这两者合并到[^\s]+或 - 更简单 - \S+

var text = "An inconvenient (qui dérange) truth";
var splitText = text.trim().match(/\S+|\s+/g);
console.log(splitText);