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);
我需要用正则表达式匹配带有法语字符 (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);