【问题标题】:Keep only a few specific lines inside some text files using RegEx for mass text replacement?使用 RegEx 仅在某些文本文件中保留几行特定行以进行大量文本替换?
【发布时间】:2023-01-30 19:28:48
【问题描述】:
想要修改我所有的 MAME\ini\ 文件(简单文本 *.ini 文件),只保留以下几行:
#
# OSD PER-WINDOW VIDEO OPTIONS
#
aspect0 xx:xx
其中 xx:xx 可以是 4:3、17:10 或任何其他比例(任何指定的屏幕比例)... aspect0 和 xx 之间的空间可能会有所不同。
其他所有内容(=所有其他行)都应该删除,只有那些行(如果存在)应该保留。如果这些行不存在,留下一个空文件就可以了(即删除所有不匹配的行)。
我正在使用 grepWin 进行大量文本替换(支持 RegEx)...
我不确定如何指定那些复杂的 RegEx 模式
【问题讨论】:
标签:
regex
windows
replace
【解决方案1】:
目前这是我自己找到的最佳解决方案:
^(?!.*(#
)?(# OSD PER-WINDOW))(#
)(?!aspect0).*$
它将用“替换所有其他行
”,只保留“# OSD PER-WINDOW ...”标题和“aspect0”行,如我所愿,例如:
#
# OSD PER-WINDOW VIDEO OPTIONS
#
aspect0 xx:xx
找不到更好的 ATM 来删除无用的“
” 一气呵成。希望也能帮助其他人,同时等待更好的答复。