我想用积极的展望里面积极的展望后面,但它似乎不起作用。
我尝试过以下操作:(?<=Chapter 1(?=Introduction))(.*)(?=Chapter 2)
全文:

Chapter 1
Introduction

Lorem Ipsum is simply dummy text

Chapter 2
Introduction

Lorem Ipsum is simply dummy text```

最佳答案

你不必回头看,你可以匹配第一章直到介绍。然后使用一个具有重复模式的捕获组,该捕获组检查行是否不以第2章开头。

^Chapter 1[\r\n]+Introduction[\r\n]+((?:(?!Chapter 2).*(?:\r?\n|$))*)

部分
^字符串开始
Chapter 1[\r\n]+匹配第1章和第1章+换行符
Introduction[\r\n]+ Match Introduction and 1+ newlines
(捕获组1
(?:非捕获组
(?!Chapter 2).*消极展望,检查不从第2章开始
(?:\r?\n|$)匹配换行符或断言字符串的结尾
)*关闭非捕获组并重复0次以上
)关闭捕获组1
Regex demo
如果你想要所有章节的匹配,你可以将数字1改为\d+\d中的数字2
另见regex demo

关于python - 在正向后看中使用正向先行吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58245265/

10-12 13:54