最近用 PySide 做了一个正则表达式测试工具,GUI 功能实现原理很简单,应该从界面就能猜到后台都运行了什么命令。
RegexTool github地址
测试
sub 测试
sub_test.pngfindall 测试
findall_test.pngEnd
- 状态栏部分只写了 findall ,其他函数我不知道显示什么比较理想。
- sub 和 subn 都有一个 count 参数,用来控制替换次数。本来有想将此参数做到 Replace Text 后面,加一个 QLineEdit,但后来考虑到很少用到就没做了。
- 还有一个
re.split
,好像我很少用到,也暂时没做进去.. -
Help
里面显示了 Python 内置的 re document,本来是想输出help(re)
所得到的所有 doc,但是没有找到将其重定向到字符串的方式,就使用了re.__doc__
这样获取的文档。两者的对比就是后一种没有函数的 help。一开始我是想连同函数的 help 也一并显示出来的。 - 中间的运行方式通过
eval
,其实也可用getattr(re, 'findall')(pattern, text, flags)
这种方式。感觉eval
比较简单,但这种方式是否有不好的地方呢? - 在
copy
里面实现了自动处理单引号和双引号的问题。或许有更理想的处理方式。
网友评论