【开源】【Python正则】搜索电脑里 包含两个任意含位置词汇的文档

3次阅读
没有评论

这个是之前用作生产力写的小工具。并且我暂未找到其他有这样功能的软件。有的话请大佬指个路。

更新:
根据评论建议 可以加入多条路径,路径间用逗号分割
增加win7可使用的版本

两次正则搜索5.rar - 蓝奏云 (lanzoul.com)


这个之前没表达明白是干嘛用的. 就再介绍一下.

比如我有很多代码文件, 里面调用了很多不同的函数命令, 需要找到同时引用A函数和B函数的代码文件有哪些, (检测这样的文件有没有bug) 这个也是当时写这个类似背景下写的这个程序.
本来想再找个案例的..然后发现好像找不到能用正则的案例了

所以我把标题的正则去了... 但是实际上python代码里写的搜东西确实用了正则搜索.. 所以一般用普通搜东西,你很可能搜不出来..

比如你希望找一个文档里, 包含123 又包含789的文本文档. 123和789的位置不固定,可能是任何位置. 就可以用这个程序.第一遍输入\b123\b,第二遍搜索\b789\b.
原理是先搜索路径下包含123的文档, 然后在已经搜到的这些文档下,再次搜索包含789的文档.

\b123\b是一个正则表达式,它用于匹配精确的单词"123"。在正则表达式中,\b表示单词边界,即字符"123"前后不能有字母、数字或下划线。因此,\b123\b将仅匹配独立的"123"单词,而不会匹配类似"1234"或"123abc"等包含"123"的部分单词。

这个正则表达式可以用于各种文本处理任务,例如在搜索、替换或提取文本中特定的单词。

注意: 这个需要先把正则写好测试好再搜,,要不然不对的正则什么也搜不出来.. 网上有那种测试正则的在线网页可以试. 正常写不出来的话,可以让gpt帮你写的

背景:本来是需要在一个工程里找到有引用两个属性的文档。这样的文档大概有6万多个 大概找到是 type=菜 name=烧鸡 包含这样的文档。 然后现有的软件,也只能搜一遍正则,而且正则写了半天也无法找到没有固定位置的有这两个词汇的文档。就写了个这个用于搜索文本

两次正则搜索.rar - 蓝奏云 (lanzoul.com)

经楼下热心大佬llc_cn介绍,everything是有这种搜文本内容功能的!!! 我顺便把这个功能也贴出来供大家参考!!
搜索是路径加content:要搜的内容,比如:
"D:\两次正则搜索\测试文本\" content:1
"D:\两次正则搜索\测试文本\" content:1 content:2
"D:\两次正则搜索\测试文本\" content:1 content:2 content:3

但是测试发现这个有个问题,有些编码搜不到,后来更新了一下发现可以把content换成ansicontent,我这基本上搜的就差不多了
"D:\两次正则搜索\测试文本\" ansicontent:1 ansicontent:2

然后就是这样正常搜的是全部文件,可以先改搜索类型再搜,要不然全部文件搜的慢,或者手动加扩展名也行,例如下面这个:
"D:\两次正则搜索\测试文本\" .txt ansicontent:1 ansicontent:2

不过我这边测试everything并不能用正则搜索内容,要是用正则搜多个内容,暂时我这个程序还能用一用:
比如搜<[^>]+>([^<]+)<\/[^>]+>

这个正则表达式用于提取 HTML 标签中的文本内容。它将匹配任意 HTML 标签,并从中提取出标签内的文本部分。具体而言,它会匹配 < 开始的标签起始部分,然后匹配一个或多个非 > 符号,接着匹配 > 符号及其后的文本内容,最后匹配 </ 和对应的标签名,从而完成提取操作。

两次正则搜索.rar - 蓝奏云 (lanzoul.com)

正文完
 0
116博客
版权声明:本篇文章由 116博客 于2024-11-28发表,共计1469字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码