各位靓仔靓女,大家好!我是你们的老朋友,今天咱们来聊聊JS正则表达式的新玩具——集合运算(Set Notation),也就是交集、差集和补集。 这玩意儿听起来高大上,但实际上用起来也挺有意思的。当然,咱们也不能只顾着玩,还得考虑一下效率问题,毕竟谁也不想写出跑得比蜗牛还慢的代码。 一、啥是JS RegExp Set Notation? 简单来说,这个提案允许我们在正则表达式里像操作集合一样操作字符集。以前我们只能用[…]定义一个字符集,比如[abc]表示a、b、c中的任意一个字符。现在我们可以用一些特殊的符号来表示字符集的交集、差集和补集。 运算 符号 含义 交集 && 两个字符集共同包含的字符。例如[a-z&&[aeiou]]表示所有的小写元音字母。 差集 — 从一个字符集中移除另一个字符集中的字符。例如[a-z–[aeiou]]表示所有的小写辅音字母。 补集 ^ 表示字符集的补集。注意,这个^的位置很重要,放在[]里面开头表示补集,放在[]里面其他位置表示普通字符^。例如[^abc]表示除了a、b、c以外的任何字符。 二、基本用法示例 先来几 …
继续阅读“JS `RegExp Set Notation` (提案) `Intersection`, `Difference`, `Complement` 的效率考量”