Diff Match and Patch
项目描述
diff-match-patch
Google的 Diff Match and Patch 库,为现代Python打包。
安装
diff-match-patch 支持Python 3.7或更高版本。您可以从PyPI安装它
python -m pip install diff-match-patch
使用
生成两个文本之间的补丁集(类似于统一差异)
from diff_match_patch import diff_match_patch
dmp = diff_match_patch()
patches = dmp.patch_make(text1, text2)
diff = dmp.patch_toText(patches)
然后可以使用以下方法将补丁集应用到文本上
from diff_match_patch import diff_match_patch
dmp = diff_match_patch()
patches = dmp.patch_fromText(diff)
new_text, _ = dmp.patch_apply(patches, text)
原始README
Diff Match and Patch库提供了强大的算法,用于执行同步纯文本所需的操作。
- 差异
- 比较两个纯文本块,并高效地返回差异列表。
- 差异演示
- 匹配
- 给定一个搜索字符串,在纯文本块中找到其最佳模糊匹配。同时权衡准确性和位置。
- 匹配演示
- 补丁
- 将一系列补丁应用到纯文本上。即使底层文本不匹配,也会尽力应用补丁。
- 补丁演示
最初于2006年构建,用于为Google Docs提供动力,现在这个库在C++、C#、Dart、Java、JavaScript、Lua、Objective C和Python中可用。
参考
语言
尽管Diff Match Patch的每种语言版本都使用相同的API,但也有一些特定于语言的说明。
一个标准化的速度测试跟踪了每种语言中差异的相对性能。
算法
这个库实现了Myer的差异算法,这通常被认为是最好的通用差异算法。在差异算法周围有一个预差异加速和后差异清理层,提高了性能和输出质量。
这个库还实现了一个Bitap匹配算法,这是灵活的匹配和补丁策略的核心。
项目详情
关闭
diff-match-patch-20230430.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 953019cdb9c9d2c9e47b5b12bcff3cf4746fc4598eb406076fa1fc27e6a1f15c |
|
MD5 | 4a96416bcec3aab02e25e0708dadf852 |
|
BLAKE2b-256 | 48407f0b68e3578453d1ccd3638cfd9682b515b9d22730903a88615f1ee92352 |
关闭
diff_match_patch-20230430-py3-none-any.whl的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | dce43505fb7b1b317de7195579388df0746d90db07015ed47a85e5e44930ef93 |
|
MD5 | 22419b448ba060448681a1fc3954347a |
|
BLAKE2b-256 | 96192654bccc833c946d94b84e4fa02d1ad1d2ff216bacad2e014a3dd820c735 |