regex - 如何在文本编辑器中替换正则表达式的子字符串

标签 regex string replace notepad++ text-editor

这是我的示例字符串:

(20,'7,8,9|1|X',1,1,1,1,1),
(81,'3',1,1,1,1,10),          
(83,'3',1,1,1,1,15),

我的任务是仅在以“(20,”开头的行中将“|X'”替换为“|X|X|X”

使用 www.rubular.com 我已经获得了 reg ex。 : ^(20,'.*)X' 与此字符串匹配: (20,'7,8,9|1|X' 这意味着,替换命令将替换与我的注册表匹配的整个字符串。例如。

我不知道如何只选择子字符串“|X'”并仅替换它。

我最好使用 Notepad++ ,如果它能够替换 reg-ex 子字符串。

最佳答案

在 Notepad++ 查找/替换窗口的“查找”下键入以下内容:

^(\(20,.*)(\|X)(.*\),)$

上面的正则表达式中有三个捕获组。第一组 (\(20,.*) 匹配 |X 之前的所有内容,第二组 (\|X) 是您想要的正在尝试查找,第三组 (.*\),)|X 之后的所有内容。比赛本身可用作变量 $1$2$3,分别对应从左到右的第一组、第二组和第三组比赛对。

在“替换”框中键入以下内容:

$1\|X\|X\|X$3

这有效地仅替换您想要的内容,同时保留该行的其余部分。

这是一个可以测试正则表达式的链接:

Regex101

here is a link参见讨论 Notepad++ 中查找/替换的规范 Stack Overflow 文章。

关于regex - 如何在文本编辑器中替换正则表达式的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33297245/

相关文章:

java - 如何匹配包括行终止符在内的任何符号?

javascript - 如何格式化字符串中的所有电话号码(javascript)

python - 仅对具有重复字符的字符串中的一个字符使用 .replace()

java - 使用正则表达式替换字符串中出现的所有单词

正则锻炼: factorials

java - 如何使用可变数量的参数格式化字符串

python - Python 中的字符串相等失败。是什么赋予了?

javascript - 如何替换 JavaScript 中所有出现的字符串?

python - 从 Pandas 数据框中的值中删除反斜杠

android - 删除android启动器并替换为我自己的