Notepad++ 使用通配符查找和替换

Notepad++ 使用通配符查找和替换

我有一个很长的文件,其中包含许多行,如下所示:

MeshFile=brosm05028.gmt CollTarget=True HATTarget=True LODOut=(500.0)

我想做的是使用 notepad++ 查找和替换来设置科尔塔尔为每个 MeshFile 命名为 Falsebrosm[XXXXX].gmt。该行文本最终应如下所示:

MeshFile=brosm05028.gmt CollTarget=False HATTarget=True LODOut=(500.0)

我知道如何使用“。*”进行查找,但我不知道如何在替换时保留唯一编号。提前致谢。

答案1

为了保持替换中找到的部分文本完整,您可以使用捕获组

查找(使用 RegEx):

(MeshFile=brosm.*.gmt CollTarget=)(True)

并将其替换为:

\1False

在此处输入图片描述

答案2

这里更具体的正则表达式是:

^(MeshFile=brosm\d{5}\.gmt CollTarget=)True

解释:

  • ^如果需要的话,确保生产线的启动
  • \d{5}捕获 5 位数字,这是您在问题中指定为所需文件格式的格式。如果您想要捕获任意数量的数字,那么\d+可以使用。
  • \.以防万一
  • 之间的所有内容()都会被捕获为\1,因此您可以将其替换为:
\1False

答案3

  • Ctrl+H
  • 找什么:MeshFile=brosm.+?\.gmt CollTarget=\KTrue
  • 用。。。来代替:False
  • 打钩 环绕
  • 选择 正则表达式
  • 取消勾选 . matches newline
  • Replace all

解释:

MeshFile=brosm          # literally
.+?                     # 1 or more any character but newline
\.gmt CollTarget=       # literally
\K                      # forget all we have seen until this position
True                    # literally

截图(之前):

在此处输入图片描述

截图(之后):

在此处输入图片描述

相关内容