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

Javascript regular expression to match French characters

我需要用正则表达式匹配带有法语字符 (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、[=13= 这三个单词] 和 range 就像现在一样。

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

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

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

console.log(splitText);

您似乎想将空格与非空格分开。但是,有两个非空格表达式:\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);