Pygments正则表达式检查器
项目描述
Regexlint旨在作为检查器运行于可导入的Pygments词法分析器上,并标记出可能导致词法分析器性能不佳的问题(因为我们没有词法分析器的分支覆盖率 :))
作为一个简单的例子,替代项是首先匹配,所以它会标记这个永远不会匹配“elseif”
(else|elseif)
它还理解一些Pygments内部机制,例如 bygroups(...)` 需要和正则表达式捕获组具有相同数量的参数。参数过多会导致重复文本;参数过少会导致文本缺失。捕获组之间也不应有空隙,所以这个例子标记了两个问题
(r'(foo)\s+(bar)', bygroups(Blah)),
用法
make demo or regexlint pygments.lexers.web:HtmlLexer or python3 regexlint/cmdline.py pygments.lexers.web
待办事项
找出哪个阶段应该移除不必要的反斜杠
编写替代项展开器,以便 ([ax]|a[bc]) 失败于替代项顺序检查
使其不仅仅适用于Pygments
许可
本项目受Apache公共许可证许可,请参阅COPYING文件
项目详情
下载文件
下载适合您平台的文件。如果您不确定要选择哪个,请了解更多关于 安装软件包 的信息。
源代码分发
regexlint-2.0.tar.gz (33.5 kB 查看哈希值)
构建分发
regexlint-2.0-py3-none-any.whl (30.0 kB 查看哈希值)
关闭
regexlint-2.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c17b6c8d7feb552a8c61fab071048d65a3da46b54f9787c2aa9f373d22fd629a |
|
MD5 | f0c816ddce8d7bdfda7c53d505582479 |
|
BLAKE2b-256 | e500a2a82f046c4349248befe84990eb99edc74a5677e063c2f1d066772193c2 |
关闭
regexlint-2.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c81144c09b8ec8319bd992c8407a0bb78b8b5374fa5ad57f240f8d810d82c5c6 |
|
MD5 | e52b3995a5202cdc5b7cacaf78a9f178 |
|
BLAKE2b-256 | b0b928d22928be0ab771bb61094d71067d5aa069c82a8e0f8d6ea90011150fbd |