我正在尝试替换 Notepad++ 中每一行中的特定单词。我已经成功地复制了上述行,如下所示:
cn:约翰娜·齐默尔曼
cn: 约翰娜·齐默尔曼
在每隔一行,我想将 cn 替换为 displayName。在 Notepad++ 中,我发现如何用
(cn:.*)\s+\K\1
标记每隔一个重复行,现在我只需要正则表达式来更改第二个重复行,如下所示:
cn:约翰娜·齐默尔曼
显示名称: Johanna Zimmermann
我该怎么做?以前从未使用过正则表达式
我们可以尝试在正则表达式模式下执行以下查找和替换:
Find: cn: (.*)\Rcn: (.*)
Replace: cn: $1\ndisplayName: $2
查找捕获
$1
和 $2
中一对相邻行的 cn
值。然后替换使用 displayName
作为第二行的标签。
如果两行应该相同,并且您还希望在替换中保留相同数量的空格,则可以使用 2 个捕获组和 2 个反向引用。
查找内容:
(cn:)(.*)\R\1\2
替换为:
$1$2\ndisplayName:$2
模式匹配:
(cn:)
捕获第1组,比赛cn:
(.*)
捕获组 2,匹配该行的其余部分\R\1\2
匹配换行符,后跟对组 1 和组 2 的 2 个反向引用查看 正则表达式演示