跳转到主要内容

正则表达式生成器和通用器

项目描述

正则表达式生成器和通用器

一个用于任意字符串集合的正则表达式生成器。根据用户的选择返回具有精确或泛化字符集的模式,并便于对模式进行聚类以创建超模式。

安装

使用git和pip克隆此存储库并分别安装库。

git clone https://gitlab.com/wxwilcke/pyRXG.git
cd pyRXG/

pip install .

或直接从PyPi安装

pip install pyRXG

用法

导入包并生成一组正则表达式

In [1]: import rxg

In [2]: patterns = rxg.generate(['Pizza Cats', 'Donkey Kong', 'Salty Dogs', 'ace123', 'pillow50', 'john99'])

In [3]: patterns
Out[3]:
RegexPatternList([^P[a-z]{4}\sC[a-t]{3}$,
                  ^D[e-y]{5}\sK[g-o]{3}$,
                  ^S[a-y]{4}\sD[g-s]{3}$,
                  ^[a-e]{3}[1-3]{3}$,
                  ^[i-w]{6}[0-5]{2}$,
                  ^[h-o]{4}9{2}$])

将精度更改为不精确以更好地比较模式

In [4]: patterns.set_precision(rxg.Precision.INEXACT)

In [5]: patterns
Out[5]:
RegexPatternList([^[A-Z][a-z]{4}\s[A-Z][a-z]{3}$,
                  ^[A-Z][a-z]{5}\s[A-Z][a-z]{3}$,
                  ^[A-Z][a-z]{4}\s[A-Z][a-z]{3}$,
                  ^[a-z]{3}[0-9]{3}$,
                  ^[a-z]{6}[0-9]{2}$,
                  ^[a-z]{4}[0-9]{2}$])

对正则表达式进行泛化(聚类)。返回匹配模式的索引以及相应的超模式

In [6]: patterns.generalize()
Out[6]:
[(^[D-S][a-z]{4,5}\s[C-K][a-t]{3}$, {0, 1, 2}),
 (^[a-w]{3,6}[0-9]{2,3}$, {3, 4, 5})]

项目详情


下载文件

下载适用于您的平台文件。如果您不确定要选择哪个,请了解有关 安装包 的更多信息。

源分布

pyrxg-1.0.0.tar.gz (47.0 kB 查看哈希值)

上传时间 源代码

由...