【发布时间】:2022-01-03 13:56:09
【问题描述】:
到目前为止,我搜索并尝试了很多,但我认为最好问问。
情况:
我有一个包含多行(大约 5000 行)的文件,如下所示:
Testtext und hier steht noch mehr!
Franz jagt 在 einem total verwahrlosten Taxi durch die Eifel
Hier ist eine Zeile mit einer Information, die Information ist "ABC12345"
Zu der Information gibt es eine 2te Zeile mit einer weiteren 信息 "Info1|Info2|Info3"
Dann kommt noch eine ueberfluessige Zeile
...我只需要ABC12345 和Info1|Info2|Info3 的信息。
我想删除引号之间没有的所有其他内容。 每个信息块的方式都是一样的。
我也想删除没有重要信息的行
我得到的:
ABC12345
信息1|信息2|信息3
ZYX9876
Info9|Info7|Info5
或与引号相同(这并不重要)
我尝试搜索正则表达式\"(.*?)\",这很好,我可以在“引号”中找到所有内容。
在那之后我的下一步是说删除所有内容不是\"(.*?)\"
...过度搜索和替换。
但我不明白我怎么能否定这一点。
(?!(\"(.*?)\")) 不起作用。
我认为对于专家来说很容易解决它,请帮助我。
【问题讨论】:
-
好的,我现在可以用这个正则表达式删除所有我不需要的信息:.*(\"(.*?)\").* 但是没有的行引号中的信息仍然存在!我在替换字段中使用 \1 或 $1!
-
尝试查找
"(.+?)"|.\n?并全部替换:$1
标签: regex notepad++ regex-negation