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

引言

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

正则可视化

地址: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...

相关推荐
请告诉他19 小时前
【实战经验】Dell Inspiron 7560 升级 BIOS 支持 DDR4-2666 内存,解决 Spring Cloud 多模块开发内存瓶颈
后端·spring·spring cloud
我想问问天19 小时前
【从0到1大模型应用开发实战】02|用 LangChain 和本地大模型,完成第一次“可控对话
后端·langchain·aigc
爱吃牛肉的大老虎19 小时前
Spring WebFlux与SpringMVC 对比讲解
java·后端·spring
老华带你飞19 小时前
房屋租赁管理系统|基于java+ vue房屋租赁管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
superman超哥20 小时前
仓颉性能优化秘籍:内联函数的优化策略与深度实践
开发语言·后端·性能优化·内联函数·仓颉编程语言·仓颉·仓颉语言
IT_陈寒20 小时前
Vue3性能优化实战:7个被低估的Composition API技巧让渲染提速40%
前端·人工智能·后端
superman超哥20 小时前
仓颉编译器优化揭秘:尾递归优化的原理与实践艺术
开发语言·后端·仓颉编程语言·仓颉·仓颉语言·尾递归·仓颉编译器
自由生长202420 小时前
保障缓存和数据库尽量一致的策略
后端
海南java第二人21 小时前
Spring Bean作用域深度解析:从单例到自定义作用域的全面指南
java·后端·spring
悟空码字21 小时前
SpringBoot 整合 Nacos,让微服务像外卖点单一样简单
java·spring boot·后端