Notepad ++:使用REG-EXP

时间:2017-01-27 15:36:17

标签: regex notepad++

给出以下文件:

Chapter 1
1 line 1
2 line 2
3 line 3

Chapter 2
1 line 4
2 line 5

我想在每个行号上添加章节号:

Chapter 1
1-1 line1
1-2 line 2
…
Chapter 2
2-1 line 4
…

是否可以使用正则表达式? 感谢您的任何见解。

1 个答案:

答案 0 :(得分:0)

使用

查找内容^Chapter\h+(\d+).*\R(\1-\d.*\R)*+\K(?!\1-\d)\d+
替换为$1-$&

点击全部替换直到不进行替换。

<强>详情:

  • ^ - 开始行
  • Chapter - 一个litla char序列
  • \h+ - 一个或多个水平空格
  • (\d+) - 捕获与一个或多个数字匹配的第1组
  • .* - 其余部分
  • \R - 换行符(序列)
  • (\1-\d.*\R)*+ - 零个或多个序列:
    • \1 - 与第1组中捕获的值相同
    • -\d - 连字符和数字
    • .*\R - 包含换行符(序列)的行的其余部分
  • \K - 匹配重置运算符,丢弃当前迭代中到目前为止匹配的所有文本
  • (?!\1-\d)\d+ - 一个或多个数字,但与第1组中捕获的数字不同,后跟-和数字

enter image description here