首页 > 解决方案 > 如果找到正则表达式,则修改一行中的位置

问题描述

我需要修改找到单词'Example'的每一行的第10个位置(不能在这里使用实际数据)并添加字符串'(ID)'。它不一定必须以 9 个数字开头,只需将字符串添加到位置数字 10 即可。例如,这行应该这样修改:

到目前为止,我有这个,找到示例并复制该行的其余部分,以免丢失文本:

Find: (.*)Example

如果它适用于不同句子中的两个不同单词“Example1”和“Example2”,则该示例的“and Also”部分将在每一行中发生变化。

这将有这样的搜索:

Find: (.*)Example1(.*)Example2

谢谢

标签: regexreplacenotepad++

解决方案


你可以试试:

Find:    (\d{9})(?=.*\bExample1\b.*\bExample2\b)
Replace: $(ID) 
               ^^^ single space after (ID)

演示

使用的正则表达式模式匹配并捕获一个 9 位数字(您可以根据需要调整到任何宽度或宽度范围)。它还使用积极的前瞻来断言Example1并且Example2实际上发生在同一行的后面:

(?=.*\bExample1\b.*\bExample2\b)

推荐阅读