如何用正则表达式批量保留MAME ini文件指定配置行?
批量修改MAME ini文件的grepWin正则方案
操作步骤
打开grepWin,设置以下参数:
- 搜索目录:选择
MAME\ini\文件夹 - 文件类型:输入
*.ini - 搜索模式:勾选「正则表达式」
- 高级选项:勾选「多行模式」和「匹配换行符」(确保正则能跨多行匹配整个文件)
- 搜索目录:选择
输入正则表达式:
- 搜索内容:
\A(?:(#\r?\n# OSD PER-WINDOW VIDEO OPTIONS\r?\n#\r?\n))?(?:(aspect0\s+\d+:\d+)\r?\n?)?.*\z - 替换内容:
(?(2)$1$2|)
- 搜索内容:
点击「替换全部」完成批量修改
正则说明
\A:匹配文件开头,确保从文件最开始匹配(?:(#\r?\n# OSD PER-WINDOW VIDEO OPTIONS\r?\n#\r?\n))?:可选捕获固定的三行注释块,\r?\n兼容Windows和Unix换行符(?:(aspect0\s+\d+:\d+)\r?\n?)?:可选捕获aspect0行,\s+匹配任意数量空格,\d+:\d+匹配任意数字比例(如4:3、16:9等).*\z:匹配文件剩余所有内容- 替换部分的
(?(2)$1$2|):.NET正则的条件构造,意思是如果捕获组2(aspect0行)存在,就输出注释块(组1)+aspect0行(组2);否则输出空内容,实现无aspect0行时保留空文件的需求
内容的提问来源于stack exchange,提问作者hexaae
相关产品推荐
相关产品推荐

