Regulex: JavaScript 正则表达式可视化.

2014-11-26 14:37:15 +08:00
 Jex
http://jex.im/regulex/

特性:
- 精确的错误定位:Regulex可以指出正则表达式语法错误的具体位置。这个功能很重要,大部分 JS解释抛出的SyntaxError都缺乏具体的错误位置信息。
- 尽量严格遵循《ECMAScript 语言规范》,禁止OctalEscape,可以找出不合法的后向引用,NUL转义后面跟数字时报错。
- 纯JavaScript实现
- 可以通过IFrame内嵌到自己的网站上
6578 次点击
所在节点    分享创造
40 条回复
justjavac
2014-11-27 10:01:22 +08:00
Jex
2014-11-27 10:42:15 +08:00
@justjavac raphael、require.js已经用了国内的CDN,但主程序还是要从Git Pages上加载,所以会慢
jakwings
2014-11-27 11:05:35 +08:00
/(\1)\1/ 这个不算错吧,浏览器都能正常 test,虽然可能是未定义行为。我觉得 regexper 的报错也挺精确的,只是没画图。

另外发现你的也不能正确识别这个:{3?}
jakwings
2014-11-27 11:08:07 +08:00
@jakwings 啊,记错了,不是 {3?}。
jakwings
2014-11-27 11:14:19 +08:00
看来是比 regexper 好很多,除了图片的美观程度。还有实在无法理解为什么非要用 content-editable,每次 enter 之后都要把光标弄到开头。
Jex
2014-11-27 11:26:04 +08:00
@jakwings 大部分正则引擎都容忍这类错误,对于 /(\1)\1/ 它确实是一个错误,但错也有错法,比如将/(\1)/解释成/(\u0001)是一种方法,但将 /(\1)/ 解释成Backref #1 就肯定解释错了。所以严格解析就应该报错。

光标跳到开头的问题我修一下。
fising
2014-11-27 11:38:55 +08:00
貌似有bug
jakwings
2014-11-27 11:42:23 +08:00
@Jex 我不觉得解释成后向引用有多大问题,反正默认是空白字符串。

我认为还应该把输入框的可点击范围弄大点。
fising
2014-11-27 11:45:25 +08:00
拷贝了一份放我网站了 :) 谢谢楼主。不喜欢 iframe
zyxfsky
2014-11-27 12:21:54 +08:00
不错的东西,收藏下
Jex
2014-11-27 12:51:29 +08:00
@jakwings 不过它本身是一个误写,作为工具指出这种错误更好

后面我把它还换成input
sneezry
2014-11-27 13:20:52 +08:00
/\\{3}/ 好像有个小bug。这个网站真棒!
dallaslu
2014-11-27 13:54:04 +08:00
提示错误:
^(?<method>\w+)(?:\((?<param>".*")\))?$
Jex
2014-11-27 14:30:50 +08:00
@dallaslu 我就知道会有不少人还是会拿PCRE来测试 -_-!
Jex
2014-11-27 15:54:01 +08:00
@sneezry 已修复
Jex
2014-11-27 20:06:18 +08:00
@leiliang 把以前的一个教程发出来:《JavaScript 正则表达式》

http://javascript-regex.coding.io/
leiliang
2014-11-27 21:03:33 +08:00
@Jex 其实呢,网上教程多,但讲的清楚和简单易懂的少,最重要的是正确性,就怕教程包含错的东西
luoweihua7sync
2014-11-30 16:46:12 +08:00
@Jex 3Q,js的正则是我最大的弱项,一直表示理解不能,看完还是有那么点收获的。。。
yanwen
2015-04-14 11:20:53 +08:00
楼主。。。站点挂了。。。
Jex
2015-04-15 15:22:44 +08:00
@yanwen 那是因为需要翻墙上Github

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/149420

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX