使用正则表达式替换不是替换字符串的字符串

问题描述 投票:0回答:1

我想替换我在 Notepadd++ 中打开的文件上不等于此的所有字符串:

readWriteDataGroup="Everyone"
。需要替换的字符串之一具有以下字符串:
readWriteDataGroup="E_MOD_WSP_64"

所以我一直在手动执行此操作,但有超过 1000000 行,手动完成是不可行的。

如何通过正则表达式执行此操作?

notepad++ regex-replace
1个回答
0
投票

如果您搜索

(readWriteDataGroup=")(?!Everyone)[^"]*(")
并将其替换为
$1X$2
,则引号中不包含
Everyone
的所有行都将替换为
X

如何运作:

在搜索字符串中

  • (readWriteDataGroup=")
    将匹配
    readWriteDataGroup="
    并将其保存为
    $1
  • (?!Everyone)[^"]*
    将匹配任何不是
    Everyone
  • 的字符串
  • (")
    将匹配尾随的
    "
    并将其保存为
    $2

更换中:

  • $1
    是第一个捕获组 (
    readWriteDataGroup="
    )
  • X
    是替换文字
  • $2
    是第二个捕获组 (
    "
    )

您可以在这里尝试:https://regex101.com/r/Bum3HU/1

在 Notepad++ 中,确保选择“替换”对话框中的“正则表达式”按钮。

© www.soinside.com 2019 - 2024. All rights reserved.