javascript - 用unicode字符提取字符串中的单词

标签 javascript regex node.js unicode

在 javascript (nodejs) 中,我需要用 unicode 字符索引文本字符串,即给定如下字符串:

"Bonjour à tous le monde, 
je voulais être le premier à vous dire:
  -'comment ça va'
  -<est-ce qu'il fait beau?>" 

我想得到以下单词数组:

 ["Bonjour", "à", "tous", "le", "monde", "je", "voulais", "être", ... "beau"]

我如何使用正则表达式或任何其他方式实现这一目标?

ps: 我安装并尝试了 xregexp 模块,它为 javascript 提供了 unicode 支持,但通常对正则表达式毫无用处,我不能走得太远......

最佳答案

可以使用XRegExp bundled with addons的版本其中(除其他外)增加了对正则表达式 unicode 类别的支持。我们感兴趣的类别是 not an unicode letter,即 \P{L}。 然后,您可以通过正则表达式 XRegExp("\\P{L}+") 拆分您的字符串。

var s="Bonjour à tous le monde,\nje voulais être le premier à vous dire:\n  -'comment ça va'\n  -<est-ce qu'il fait beau?>";
var notALetter = XRegExp("\\P{L}+");
var words = XRegExp.split(s, notALetter);

参见 this fiddle .

关于javascript - 用unicode字符提取字符串中的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20422194/

相关文章:

regex - 使用 grep 匹配字符串和一个或多个数字

regex - 在文件中替换/插入时间戳

c# - Regex.Replace 中的 MatchEvaluator 如何工作?

node.js - NPM 从 GitHub 拉取错误版本

node.js - Node.js 上带有 websockets 的 https 服务器

javascript - 我如何在 Knex where like query 中转义 % ?

javascript - 如何在导入的 typescript 类上调用静态方法?

node.js - 为什么我的 Redis 实例每 2 分钟就会出现一次连接超时?

javascript - jQuery:删除大于和小于的选择选项

javascript - WooCommerce 加载错误的 Assets 路径