这款正则表达式可视化神器,让复杂正则一目了然!

引言

大家好,今天分享一个可视化正则表达式的网站,可以更加清晰的调试正则表达式,方便大家应对那种没有注释并且看不懂的正则。

正则可视化

地址:jex.im/regulex/#!f...

Github 地址:github.com/CJex/regule...

来看看效果,网站自带的正则可视化效果:

从图片中可以很清楚的看出来,这个正则使用了一个捕获组,匹配字符 a 或者 b 中的任意一个,而后面的 *? 则会让正则尽可能是的匹配字符,体现在图中就是 0 or more times,很简单的一张图,但是却清晰的展示了正则的含义。

我们再找一个复杂一些的正则试试:

很清晰,对吧,一看就能看到三种字符,可以循环 4-16 次。

但是这个项目是六年前的项目了,像反向否定预查((?<=Y)X)这种语法目前是不支持的,不过我找了一下 issues,发现有人新增了语法支持,地址:jianyu.io/regulex/

我们来尝试一下 IP 地址匹配的正则:

这个正则还是比较复杂的,从图上可以看出来,正则一共分为几个部分,首尾都不能是数字或者点,中间部分通过次数限制匹配 255,或者 225 或者 192 这种的 IP 地址,涵盖了 ABC 类 IP 地址。

再来看一个负的浮点数正则:

一目了然,一共有三个分组,分别对应三种情况,这里我就不多解释了。

正则调试

顺便这里再分享一个调试正则表达式的网站,也是我平时调试正则常用的。

地址:regex101.com/

它长这样:

它支持多种语言的正则表达式调试,同时支持多种模式,也会高亮字符串中匹配到的内容,方便我们调试正则。

看一个 IP 地址的示例:

不仅在结果中会高亮对应的字符,也会在正则中高亮对应的部分,提示我们哪部分正则匹配到了内容,并且右侧还有友好的提示,如果我们忘记或者不知道如何匹配可以作为参考。

总结

虽然现在写爬虫很少用到正则了,不过有的时候还是偶尔会用来搜索文件或者使用 notepad++ 来批量替换内容,速度杠杠的,也可以用在字符串处理中,或者日志处理,使用起来效率很高,速度飞快!

本文章首发于个人博客 LLLibra146's blog

本文作者:LLLibra146

更多文章请关注公众号 (LLLibra146)

版权声明 :本博客所有文章除特别声明外,均采用 © BY-NC-ND 许可协议。非商用转载请注明出处!严禁商业转载!

本文链接blog.d77.xyz/archives/73...

相关推荐
expect7g38 分钟前
Paimon源码解读 -- Compaction-2.KeyValueFileWriterFactory
大数据·后端·flink
小灰灰搞电子42 分钟前
Rust 动态分发(dyn Trait)详解
开发语言·后端·rust
码事漫谈44 分钟前
深入剖析进程、线程与虚拟内存
后端
码事漫谈1 小时前
MFC核心架构深度解析
后端
geekmice1 小时前
实现一个功能:springboot项目启动将controller地址拼接打印到txt文件
java·spring boot·后端
小周在成长1 小时前
Java 线程安全问题
后端
bcbnb1 小时前
iOS应用完整上架App Store步骤与注意事项详解
后端
掘金考拉1 小时前
从原理到实战:JWT认证深度剖析与架构思考(一)——三部分结构的精妙设计
后端
疯狂的程序猴1 小时前
掌握iOS和Android设备应用运行状态监控与性能优化完整教程
后端