交互式突出显示正则表达式匹配项

hlre的Python项目详细描述


hlre公司

交互式highlighre规则表达式匹配。在

什么?在

一个TUI应用程序,它显示(python风格的)正则 输入表达式。在

为什么?在

我非常喜欢使用RegExr,但它使用的是javascript 与正则表达式引擎的结果有一些细微的区别 你用python得到了什么。在

安装

python3 -m pip install hlre

使用

TLDR

  1. ^{pr2}$ 在
  2. 键入regex并查看nginx.log中突出显示的匹配项。在

  3. Control-C退出。在

输入源

您可以使用内置的示例文本(传递的字符串)突出显示匹配项 在命令行或外部文件中。在

  • 内置演示文本

    hlre --demo-text
    
  • 字符串

    hlre --text 'This is the regular expression subject.'
    
  • 外部文件

    hlre --file nginx.log
    

    读取整个文件会使这个工具的速度慢很多,所以您可能会 想做一些类似的事情:

    hlre --file <(head -n 10 nginx.log)
    

    只看前10行。在

突出显示所有匹配项

默认情况下,每一行都被视为一个单独的主题,以匹配上的正则表达式。在

要突出显示主题中的all匹配项,请使用-a标志:

hlre --demo-text -a
# OR
hlre --file nginx.log --all

这使用了re.finditer和引擎盖下的re.MULTILINE标志。在

自定义高亮显示样式

hlre使用prompt toolkit的HTML功能,因此任何有效的标记名 这里应该有工作。此工具当前不支持任何自定义 标签上的属性(例如style="...")。在

以下是一些示例:

  • 在整个匹配项下加下划线,用深红色突出显示捕获组

    hlre --demo-text --highlight-style u --group-highlight-style firebrick
    
  • 以绿色突出显示整个匹配项,以粗体显示捕获组

    hlre --demo-text -s green -g b
    
  • 斜体显示整个比赛,突出显示捕获组在青色

    hlre --demo-text -s i -g cyan
    

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在Android Studio中使用while循环显示包含textview对象的数据   创建名为“userController”的bean时发生java错误:通过字段“userService”表示未满足的依赖关系   java PDFBox PDFImageWrite。writeImage未正确处理所有字符   java无法识别代码中的nzec错误   无法更改java TabLayout字体   在Java中使用子字符串删除部分字符串   Java中的listener addPropertyChangeListener方法   java可以同时拖动多个对象   java如何将数组中的值添加到向量中   java为什么在Camel 3.7.3中无法正确计算属性?   与后端问题不同的机器中的java客户端资源   带字符串的java分割字节数组?   java On_选项_项目_选择的方法说明   java如何在画布的父画中画一个圆?   连接超时和打开连接数的java Netty通道配置   java mysql中如何防止向数据库中插入重复数据   升级到macOS Big Sur后,java无法启动Neo4j控制台应用程序   在Java中使用XSLT将XML转换为HTMLString的ajax   java无法使用Apache POI获取Excel工作表中的数据