6.8K Star神器!自动生成正则表达式


微信公众号:[开源日记],分享10k+Star的优质开源项目

项目介绍

Grex是一个由Rust语言开发的命令行工具和库,根据用户提供的测试用例生成正则表达式。该工具可以作为库或命令行工具使用,提供了丰富的功能和特性,使用户能够快速生成有效的正则表达式。



功能特点

  • 1.支持多种正则表达式元素:Grex支持字面量、字符类、常见前缀和后缀检测、重复子串转换为 {min,max} 量词表示、使用 | 运算符的替换、使用 ? 量词的选项、转义非ASCII字符等功能,用户可以根据需要选择不同元素来生成更精确的正则表达式。
  • 2.兼容性和可扩展性:Grex完全兼容Unicode标准15.0版本,与regex crate 1.9.0及更高版本完全兼容,正确处理由多个Unicode符号组成的图形元素,具有良好的兼容性和可扩展性。
  • 3.友好的交互方式:Grex提供从命令行或文件中读取输入字符串的方式,用户可以以多种方式输入测试用例,同时通过可选的详细模式生成更易读的正则表达式,提高交互可视化效果。
  • 4.可定制化选项:用户可以选择大小写敏感或不敏感匹配、捕获组或非捕获组等选项,根据具体需求对生成的正则表达式进行定制化,增加灵活性和适应性。

案例举例

$ grex a b c
^[a-c]$

$ grex a c d e f
^[ac-f]$

$ grex a b x de
^(?:de|[abx])$

$ grex abc bc
^a?bc$

$ grex a b bc
^(?:bc?|a)$

$ grex [a-z]
^\[a\-z\]$

$ grex -r b ba baa baaa
^b(?:a{1,3})?$

$ grex -r b ba baa baaaa
^b(?:a{1,2}|a{4})?$

$ grex y̆ a z
^(?:y̆|[az])$
Note: 
Grapheme y̆ consists of two Unicode symbols:
U+0079 (Latin Small Letter Y)
U+0306 (Combining Breve)

$ grex "I ♥ cake" "I ♥ cookies"
^I ♥ c(?:ookies|ake)$
Note:
Input containing blank space must be 
surrounded by quotation marks.

使用场景

Grex在实际场景中具有广泛的应用,特别适用于以下情况:

  • 快速生成复杂正则表达式:对于需要匹配特定模式的用户输入数据,无需手动编写复杂的正则表达式,Grex可以根据提供的测试用例快速生成适当的表达式,节省时间和精力。
  • 教学和学习用途:作为学习正则表达式的工具,Grex可以帮助初学者了解不同元素如何构成有效的表达式,提供了交互式的生成方式,有助于加深对正则表达式的理解。
  • 自动化测试:在开发和测试环境中,Grex可用于自动生成用于检查和验证输入数据的正则表达式,提高测试效率和覆盖率,帮助发现潜在的问题或漏洞。
开源地址:https://github.com/pemistahl/grex

微信公众号:[开源日记],分享10k+Star的优质开源项目

创作不易分享,,在看,三连支持一波,感谢。↓↓↓

近期热文:

2.3K Star很有趣!将PDF文件转成扫描件
2.3K Star.极客玩法!使用蓝牙设备解锁你的Mac电脑
2.1K Star找了很久!Python PDF转DOCX好用工具
24.8K Star炫酷好用!!!跨平台系统监控工具
5.5K Star真不错!简化数据收集,轻松创建交互式表单
4.1K Star免费!开源的人脸识别系统
5.9K Star看着不错!基于Postgres的低代码平台
10.4K Star厉害!支持14种IDE的代码补全神器
44.2K Star 厉害了!Go极简实现的GitLab/GitHub
4.4K Star Go实现的高度可定制的全文搜索引擎


相关推荐

  • 升级你的网络实验场:体验华为最新ENSP_PRO模拟器,现已对普通用户开放!
  • 奇舞周刊第527期:​Virtual DOM(虚拟DOM) 的地位再一次被挑战 !!!
  • 今日代码大赏 | Spring Cloud Gateway 全局过滤器实现
  • 学习力不从心,如何做好时间管理?
  • 有了这玩意,分分钟开发公众号功能!
  • 30%参数达到92%的表现,大模型稀疏化方法显神通
  • 两重惊喜!奥特曼预告GPT-4和ChatGPT重大更新,Open AI要放大招
  • 大语言模型应用指南:以ChatGPT为起点,从入门到精通的AI实践教程
  • 【小象AI第11讲】5月20日,智能化闭环:RPA + LLM驱动业务流革新
  • 【小象AI第10讲】5 月16日,AI知识管理:如何快速搭建你的私域知识库
  • 突发!美国拟限制「开源 AI 大模型出口」:你或无法使用
  • 牛掰,程序员Ben被封号了。。
  • “如果你看空,还做什么投资?”
  • 86岁「最会赚钱的数学家」Jim Simons去世,量化投资一代传奇落幕!
  • OpenAI重磅更新定档下周一,奥特曼暗示会有「魔法」!
  • KAN核心团队震撼力作!MIT华人用AI首次发现物理学全新方程
  • WPS回应套娃式收费:AI功能投入比较大且福利期已到;Sam Altman辟谣下周发GPT-5和搜索引擎 | 极客头条
  • 使用 C++ 中的 final 关键字,到底能否提升性能?
  • IPv4 地址耗尽,为什么 IPv6 没有广泛将其取代?
  • 突发!美国拟限制“开源 AI 大模型出口”