就是?<=,虽然说不支持,但是我在 chrome 上试了下,能进行匹配,node10 也能这么写 但是就我了解的资料来看,js 的正则确实不是完全版的,那么有没有相关资料来说明下,到底差了多少 ps,最近玩正则发现真是上瘾了,感觉这东西啥都能查出来,
![]() | 1 Kimyx 2019-01-16 00:00:01 +08:00 ![]() ECMAScript 正则表达式不支持的特性 匹配字符串开始和结尾的 \A 和 \Z 锚 向后查找( lookbehind ) 并集和交集类 原子组( atomic grouping ) Unicode 支持(单个字符除外,如\uFFFF ) 命名的捕获组 s ( single,单行)和 x ( free-spacing,无间隔)匹配模式 条件匹配 正则表达式注释 「 Javascript 高级程序设计」第 3 版 |
2 azh7138m 2019-01-16 00:41:17 +08:00 via Android ![]() js 标准是不断更新的,https://github.com/tc39/proposal-regexp-lookbehind Lookbehind 是 chrome62 增加的。 关于命名组 https://github.com/tc39/proposal-regexp-named-groups 其实标准就在那里,比看书好多了。 chrome 支持这些特性总归是要 v8 支持他们的,那么这么看,js (在 chrome 上面的)除去递归之外,其他的都应该会支持。 |
![]() | 3 Sparetire 2019-01-16 01:56:24 +08:00 via Android 写 node 的话就只管用好了,写前端就掂量下目标用户吧。。 |
4 wuhaochen999 2019-01-16 06:10:32 +08:00 正则? 你说的是 PCRE 吧 |
5 wszgrcy OP @Kimyx 感谢,但是第三版的书。。。我记得是 12 年吧,6 年过去了,js 这也没啥更新日志提示。。。真是蛋疼 |
8 wszgrcy OP @wuhaochen999 我记得正则还有 posix 不过用的语言比较少是吧 |
9 nifury 2019-01-16 07:43:00 +08:00 曾经我也以为正则啥都能查出来,直到我试图用正则来解析 html... 跑题了跑题了 |
![]() | 11 lzvezr 2019-01-16 08:26:31 +08:00 via Android ![]() 推荐一个网站,可以查一下 nodejs 实现到了什么程度 https://node.green |
12 gam2046 2019-01-16 08:33:28 +08:00 html 这样的类 xml 本文(例如 AndroidManifest 这样的文件),其实用 xpath 来检索,真的很方便。 当然用下面说的 DOM 解析同样也很方便。相比之下,用正则来做这个事情,就有点繁琐了。 |