一个很好用的正则可视化工具

/ 0评 / 0

正则表达式给人最大的感觉就是难以看懂,看着就让人头疼。

最近发现一个非常实用的在线正则表达式可视化的工具,不管是看别人的还是分析自己写的,都能让逻辑清晰明了

工具地址

比如下面一段正则,是匹配香港的手机号码的:

(?:46(?:0[0-6]|1[0-2]|4[0-57-9])|5730|(?:626|848)[01]|707[1-5]|929[03-9])\d{4}|(?:5(?:[1-59][0-46-9]|6[0-4689]|7[0-2469])|6(?:0[1-9]|[13-59]\d|[268][0-57-9]|7[0-79])|9(?:0[1-9]|1[02-9]|[2358][0-8]|[467]\d))\d{5}

工具分析后的结果:

自己去看的话还是挺头疼的,用工具一分析就变得太简单了,看到这个结构有没有一种让人豁然开朗的感觉

如果觉得上边这段正则还不够刺激,再看看下边一段网上找的,比较全面的匹配邮箱的正则表达式(符合 RFC 5322 标准):

(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])

这个已经基本没法看了吧,用工具分析出来都比较复杂了,但至少逻辑非常清晰了,这里不贴图了,可以自己去看效果

总之,这是一个非常值得收藏的工具。

发表评论

电子邮件地址不会被公开。 必填项已用*标注