如何重新排列组跨越多条线?

时间:2018-01-10 12:11:06

标签: regex notepad++ grouping

输入

14. SEPARATION ANXIETY/265
The Continuing Saga of Zero-Gravity Elimination

所需的输出

14. SEPARATION ANXIETY – The Continuing Saga of Zero-Gravity Elimination/265

我的尝试

查找(\d+. (.*))(/\d+\r\n)((.*))
替换\1–\3\2

14. SEPARATION ANXIETY–/265
SEPARATION ANXIETY

1 个答案:

答案 0 :(得分:1)

您似乎没有在替换模式中引用正确的组。您的(\d+. (.*))(/\d+\r\n)((.*))模式包含5个捕获组,\1表示使用(\d+. (.*))捕获的文本,\3表示(/\d+\r\n)\2表示{ {1}}(第一个捕获组的一部分)。

这是一个可以完成工作的版本:

(.*)

<强>详情

  • Find: ^(\d+\.\h.*)(/\d+)\R(.*) Replace: \1 – \3\2 - 开始行
  • ^ - 第1组:一个或多个数字,一个点,一个水平的空白,然后除了换行符之外的任何0+字符,直到最后一个......
  • (\d+\.\h.*) - 第2组:(/\d+),然后是1+位数
  • / - 换行符
  • \R - 第3组:整行。

enter image description here