Notepad ++ - regex:替换每行中第一次出现的字符组

时间:2017-09-18 20:22:16

标签: regex replace notepad++

有人会知道可以使用正则表达式(在记事本++中)来替换每行中字符组的第一次出现吗?

例如:

abcdefg//ijkl//m.
qsdflkj//sdqlmkf//jqsmdl.

abcdefg\\ijkl//m.
qsdflkj\\sdqlmkf//jqsmdl.

所以在每一行中用//替换\\,但只有第一次出现,而不是下一次。

如果正则表达式无法实现它,是否有另一种带记事本的方法。如果没有,我会编写一个程序来分割线并完成工作,但需要更多时间。

提前做好准备。

2 个答案:

答案 0 :(得分:2)

Find what字段

中输入此正则表达式
(.*?)//(.*)

Replace with字段

中输入此内容
$1\\$2

Regular expression中选择Search Mode,然后取消选中. matches newline

答案 1 :(得分:1)

  • 控制 + ħ
  • 找到:^[^/]+\K//
  • 替换为:\\\\
  • 检查环绕
  • 检查正则表达式
  • 全部替换

<强>解释

^               : begining of line
  [^/]+         : 1 or more any character that is not a slash
  \K            : forget all we have seen until this position
  //            : 2 slashes

<强>替换

\\\\     : 2 backslashes, each one must be escaped

给定示例的结果:

abcdefg\\ijkl//m.
qsdflkj\\sdqlmkf//jqsmdl.