我有一个文件,里面有很多关于街道和 WIFI 的信息。所以我想删除文本文件中的每个单词,除了密码:********,并且有很多单词,密码后的单词是可变/随机的,与我想保留/复制的单词占一行
1499904000,::13148748,密码:20022003,:1481477952,:Saad Al Ssaoudy,:7942242}]}
答案1
步骤1-
查找 -.*?(?=password:)(password.*?)(?=(,|\s))
替换为 -\r\n\r\n$1\r\n\r\n
解释一下 - find 的这一部分 .*?(?=password:)
匹配到可以向前查找的点,即光标右侧的立即查找,并看到单词 password: 位于光标右侧。然后您有 find 的这一部分,(password.*?)
它匹配并捕获单词 password 直到接下来提到的位置。然后您有 find 的这一部分,(?=(,|\s))
它表示向前查找,即光标右侧的立即查找逗号或某些空白,例如空格或行尾。因此,当您查看 (password.*?) 时,.*?
它的这一部分将一直到该点。
请注意,我在执行该正则表达式时勾选了点匹配换行符,如 imgur 上的图片所示。请注意,上图中有 4 个密码。
运行查找/替换,产生以下内容(下图)
第2步
然后只需要删除空行,在 notepad++ 中可以执行编辑..行操作..删除空行
任何支持正则表达式的文本编辑器都可以,例如 Notepad++
注意 - 早期版本有一个更简单的正则表达式,它不能合理地处理多次出现的字符串(例如,它只会显示最后一个)。此解决方案提供了字符串出现的所有时间。
答案2
我认为没有任何程序(我遇到过的)是专门针对您的问题而设计的。
我能建议的最好的事情是使用 Python 3 之类的语言编写脚本。
如果您不熟悉编程,最好的办法是前往 stackoverflow 提出您的问题。
如果这不是一个合适的替代方案,我很抱歉。