首页 > 其他分享 >看不懂正则表达式?试试可视化工具吧!

看不懂正则表达式?试试可视化工具吧!

时间:2024-05-24 15:20:11浏览次数:28  
标签:看不懂 正则表达式 zA 可视化 字符串 Z0 节点

1. 前言

正则表达式是一种用来匹配字符串的强有力工具。设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串我们就认为它“匹配”了,否则该字符串就是不合法的。

日常开发中常常会使用正则表达式,例如:对数据格式进行校验(判断一个字符串是否是合法的Email格式、合法的IP格式或是否按照特定格式的数字和字母拼接);又或是将日志详情按照某种格式匹配后采集上报。复杂的正则表达式可读性很差,对地球人来说掌握比较困难,下定决心系统的学习后又会很快的忘记。在有大模型辅助编程前,如果要写一个复杂的正则表达式可能需要花费不少精力搜索资料和验证,有了大模型帮忙确实可以大大简化书写的过程。但不管是之前还是现在,可能对正则表达式执行的正确性仍不太确定(大模型也可能给出错误的结果或者由于描述不准确导致给出不符合预期的结果),这时候如果能对正则表达式可视化的分析,那么将大大增加使用的信心。

2. 工具推荐

2.1 简介

regex-vis是一个辅助学习、编写和验证正则的工具,输入一个正则表达式后,会生成它的可视化图形。然后可以点选或框选图形中的单个或多个节点,再在右侧操作面板对其进行操作,具体操作取决于节点的类型,比如在其右侧插入空节点、为节点编组、为节点增加量词等。项目开源,可以拉取代码到本地编译执行,也可以直接在regex-vis.com体验它的功能。

 


 

2.2 原理

通过词法分析和语法分析将一个正则表达式转换为 AST(Abstract Syntax Tree)。其中词法分析将正则字符串转为 Tokens,Tokens 再通过语法分析转为 AST。实现源码参考Parser

 


 

2.3 举例

下面列举一些常用的正则表达式和对应的可视化图,点击小标题超链接可以直接跳转到RegexVis页面查看。

邮箱

只允许英文字母、数字、下划线、英文句号、以及中划线组成。

^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$

 


 

域名

^((http:\/\/)|(https:\/\/))?([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}(\/)

 


 

IP

((?:(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d?\d))

 


 

URL

^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#()?&//=]*)$

 


 

HTML标签

^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$

 


 

3. 扩展阅读

正则表达式30分钟入门教程正则表达式语言 - 快速参考常用正则表达式正则表达式手册

标签:看不懂,正则表达式,zA,可视化,字符串,Z0,节点
From: https://www.cnblogs.com/Jcloud/p/18211013

相关文章

  • 【全网最全】2024电工杯A题22页参考论文+所以小问配套解题代码+可视化图表
             A题:园区微电网风光储协调优化配置2024电工杯数学建模A题成品论文+Matlab,py双版本解题代码+代码运行高清结果图https://mbd.pub/o/bread/ZpaVlZ1s问题1:各园区独立运营储能配置方案及其经济性分析  (1)分析未配置储能时各园区运行的经济性,包括:购......
  • 低代码与 Echarts 融合:开启智能可视化的创新浪潮
    前言在当今数字化时代,数据的价值愈发凸显,企业和组织需要有效地利用数据来作出战略决策和优化业务流程。可视化是一种强大的工具,可以将复杂的数据以直观的方式展现出来,帮助用户更好地理解和分析数据。近年来,低代码开发平台和Echarts可视化库的结合,为智能可视化带来了全新的创新......
  • 湖南佳惠集团携手数图,共同开启可视化品类空间管理新篇章!
    5月21日,湖南佳惠&数图信息科技签约仪式暨可视化品类空间管理项目启动会成功举办。双方领导及项目负责人共同出席了此次活动,并发表了签约致辞,共同祝愿此次合作取得圆满成功,并肩谱写智慧零售新篇章。湖南佳惠集团创建于1999年8月,总部位于湖南省怀化市。公司坚持“做强超市、......
  • NumPy 正态分布与 Seaborn 可视化指南
    正态分布(高斯分布)简介正态分布(也称为高斯分布)是一种非常重要的概率分布,它描述了许多自然和人为现象的数据分布情况。正态分布的形状呈钟形,其峰值位于平均值处,两侧对称下降。特征正态分布可以用两个参数来完全描述:均值(μ):表示数据的平均值,分布的峰值位于μ处。标准差(σ):表示......
  • Java.年月日正则表达式
    表达式:yyyy-MM:^([1-9]{1}[0-9]{3}[\\-]{1}){1}((1[0-2]{1}){1}|(0[1-9]{1})|([1-9]{1})){1}$yyyy-MM-dd:^((((19|20)\\d{2})(-)(0?[13578]|1[02])-(0?[1-9]|[12]\\d|3[01]))|(((19|20)\\d{2})(-)(0?[469]|11)-(0?[1-9]|[12]\\d|30))|(((19|20)\\d{2})(-)(0......
  • 【开源可视化报表设计器】借力实现高效率流程化办公!
    进行数字化转型、实现流程化办公,这些应该是目前很多企业都想要实现的目标吧。那么,利用什么样的软件平台可以实现?低代码技术平台拥有可视化界面、灵活操作、好维护等众多优势特点,可以借助低代码技术平台、开源可视化报表设计器的优势特点,助力企业打破信息孤岛,实现高效率流程化办公......
  • DeepMTS深度学习神经网络多元时间序列预测宏观经济数据可视化|附数据代码
    原文链接:https://tecdat.cn/?p=36237原文出处:拓端数据部落公众号在数据科学领域,时间序列分析一直是一个至关重要的研究方向,尤其在金融、气象、医学以及许多其他科学和工业领域中,准确的时间序列预测对于制定策略、政策规划以及资源管理都具有极其重要的意义。随着技术的不断进步,......
  • R语言聚类、文本挖掘分析虚假电商评论数据:K-Means(K-均值)、层次聚类、词云可视化|附
    全文链接:http://tecdat.cn/?p=32540原文出处:拓端数据部落公众号聚类分析是一种常见的数据挖掘方法,已经广泛地应用在模式识别、图像处理分析、地理研究以及市场需求分析。本文主要研究聚类分析算法K-means在电商评论数据中的应用,挖掘出虚假的评论数据。本文主要帮助客户研究聚类......
  • R语言电影数据分析:随机森林探索电影受欢迎程度因素、参数调优可视化
    全文链接:https://tecdat.cn/?p=34495原文出处:拓端数据部落公众号是什么让一个电影受欢迎?也许是影片的总收入(影院条目和DVDsellings)。我们选择的变量将是票房(gross)或观众评分(movie_facebook_likes)。众所周知,关于IMDB和番茄的好评与高收益的电影有关。我们的分析旨在回答以下研......
  • Python可视化训练
    Python可视化训练一实验目的l 使学生综合运用图形用户界面设计的概念;l 使学生熟悉使用中间面板,组成层次复杂的GUI界面;l 使学生掌握Python图形绘制和图像处理步骤与方法;l 使学生掌握Python可视化处理的步骤、方法与编程;二实验环境及实验准备l 所需硬件环境为微机;l ......