我想用积极的展望里面积极的展望后面,但它似乎不起作用。
我尝试过以下操作:(?<=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次以上)
关闭捕获组1Regex demo
如果你想要所有章节的匹配,你可以将数字1改为
\d+
和\d
中的数字2另见regex demo
关于python - 在正向后看中使用正向先行吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58245265/