underscore.js源码,这个正则表达式是什么意思?

大峡谷国家公园 2015-11-29 03:07:11
toArray方法的源码:

当obj是String时,直接使用正则表达式reStrSymbol就把字符串变为了字符数组,就像这样:

我只查到了\uD800-\uDFFF是UTF-16的代理对,这是什么原理?求教
正则贴在这:
var p = /[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;
...全文
260 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
知乎有大神给了解答: http://www.zhihu.com/question/38324041
  • 打赏
  • 举报
回复
引用 6 楼 gusto 的回复:
楼主用的是什么东西在写程序? dreamweaver cc 嘛?
第一张图是webstorm、第二张是chrome控制台
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
\uD800-\uDFFF 是 Unicode (utf-16le)字符集的符号段
var p = /[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;
s = 'abc,宋文。123';
document.write(s.match(p))
a,b,c,,,宋,文,。,1,2,3
能详细介绍下原理吗
gusto 2015-12-06
  • 打赏
  • 举报
回复
楼主用的是什么东西在写程序? dreamweaver cc 嘛?
  • 打赏
  • 举报
回复
引用 3 楼 starfd 的回复:
这段正则怪怪的,前面是非范围的,最后又可以或者是那段范围的,那不就是全范围了吗?
是啊,看不懂啥原理
  • 打赏
  • 举报
回复
这段正则怪怪的,前面是非范围的,最后又可以或者是那段范围的,那不就是全范围了吗?
KK3K2005 2015-11-30
  • 打赏
  • 举报
回复
看下 string.match方法 就是返回正则结果的 数组
xuzuning 2015-11-29
  • 打赏
  • 举报
回复
\uD800-\uDFFF 是 Unicode (utf-16le)字符集的符号段
var p = /[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;
s = 'abc,宋文。123';
document.write(s.match(p))
a,b,c,,,宋,文,。,1,2,3

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧