库来帮助组织、运行和调试针对大量文本的正则表达式。

runrex的Python项目详细描述


ContributorsForksStargazersIssuesMIT LicenseLinkedIn


Logo

Runrex

在 库来帮助组织、运行和调试针对大型文本体的正则表达式。 在

目录

关于项目

这个库的目标是简化正则表达式在大文本体上的部署,以各种输入格式。在

入门

要创建并运行本地副本,请执行以下简单步骤。在

先决条件

安装

  1. 克隆回购
    git clone https://github.com/kpwhri/runrex.git
    
  2. 安装要求(requirements-dev用于测试包) ^{pr2}$ 在
  3. 如果您希望从SAS或SQL中读取文本,则需要安装其他要求。这些附加要求文件可用于:
    • ODBC连接:requirements-db.txt
    • 博士后:requirements-psql.txt
    • SAS:requirements-sas.txt
  4. 运行测试。
    set/export PYTHONPATH=src
    pytest tests
    

使用

示例实现

构建自定义算法

  • 创建4个文件:
    • patterns.py:定义感兴趣的正则表达式
      • 请参见examples/example_patterns.py以获取一些示例
    • test_patterns.py:测试那些正则表达式
      • 为什么?确保这些图案能像你想象的那样
    • algorithm.py:定义算法(如何使用正则表达式);返回结果
      • 请参见examples/example_algorithm.py获取指导
    • config.(py|json|yaml):在schema.py中定义的各种配置
      • 有关基本配置,请参见examples/example_config.py中的示例

输入数据

接受多种输入格式,但至少需要指定document_id和{}。名称是可配置的。在

分句

默认情况下,输入文档文本中的每个句子都应该在单独的行上。如果需要分句方案,则需要将其提供给应用程序。在

模式/示例

有关详细信息,请参阅example config 或咨询schema

输出格式

  • 建议的输出格式是jsonl
    • 可以使用python提取数据:
importjsonwithopen('output.jsonl')asfh:forlineinfh:data=json.loads(line)# data is dict
  • 输出变量是可配置的,可以包括:

    • id:行的唯一id
    • name:文档名
    • algorithm:包含查找的算法的名称
    • value
    • category:类别的名称(通常是模式;多个类别有助于一个算法)
    • date
    • extras
    • matches:模式匹配
    • text:捕获的文本
    • start:匹配的起始索引/偏移量
    • end:匹配的结束索引/偏移量
  • 用输出完成有用任务的脚本包含在scripts目录中。在

版本

使用SEMVER。在

https://github.com/kpwhri/runrex/releases。在

路线图

请参阅open issues,以获得建议的特性(和已知问题)的列表。在

贡献

您所做的任何贡献都将受到的高度赞赏。在

  1. 把项目分成两半
  2. 创建您的功能分支(git checkout -b feature/AmazingFeature
  3. 提交更改(git commit -m 'Add some AmazingFeature'
  4. 推到分支(git push origin feature/AmazingFeature
  5. 打开拉取请求

许可证

根据麻省理工学院的许可证分发。在

有关详细信息,请参见LICENSEhttps://kpwhri.mit-license.org。在

联系人

请使用issue tracker。在

致谢

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

推荐PyPI第三方库


热门话题
如何修复:线程“main”java中的异常。java中随机数布尔数组的lang.ArrayIndexOutOfBoundsException   如何在Java中向字符串数组添加字符串?   java扫描器useDelimiter字符串参数?   java如何读取包含子类实例的对象的可包裹对象数组?   java Checkstyle RegexpHeader未正确检测正则表达式   比较Java中的两个XML树   java试图调用虚拟方法“int安卓”。看法看法对空对象引用执行getVisibility()   java错误的解析日期   用于双向I/O的io Java数据对象   gradle执行失败的Twilio SMS(Java)   java代码抛出严重错误:没有为参数1异常指定值   安卓 java。调用getDrawable()时lang.OutOfMemoryError   java如何将可滚动的JPanel保存为jpeg图像(而不是快照)   java bufferedReader现在需要10多秒才能完成(Kotlin)   java在线读取文本文件中的数字   关于访问说明符的java   在java中的incrementAndGet()实现中,原子将`getIntVolatile(Object var1,long var2)`替换为`getInt(Object var1,long var2)`