库来帮助组织、运行和调试针对大量文本的正则表达式。
runrex的Python项目详细描述
目录
关于项目
这个库的目标是简化正则表达式在大文本体上的部署,以各种输入格式。在
入门
要创建并运行本地副本,请执行以下简单步骤。在
先决条件
- Python 3.8+
- runrex包:https://github.com/kpwhri/runrex
安装
- 克隆回购
git clone https://github.com/kpwhri/runrex.git
在 - 安装要求(
requirements-dev
用于测试包) ^{pr2}$ 在 - 如果您希望从SAS或SQL中读取文本,则需要安装其他要求。这些附加要求文件可用于:
- ODBC连接:
requirements-db.txt
- 博士后:
requirements-psql.txt
- SAS:
requirements-sas.txt
- ODBC连接:
- 运行测试。
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,以获得建议的特性(和已知问题)的列表。在
贡献
您所做的任何贡献都将受到的高度赞赏。在
- 把项目分成两半
- 创建您的功能分支(
git checkout -b feature/AmazingFeature
) - 提交更改(
git commit -m 'Add some AmazingFeature'
) - 推到分支(
git push origin feature/AmazingFeature
) - 打开拉取请求
许可证
根据麻省理工学院的许可证分发。在
有关详细信息,请参见LICENSE
或https://kpwhri.mit-license.org。在
联系人
请使用issue tracker。在
致谢
- 项目
标签: