Regex以获取超过上次检测到的字符串的所有行
本文关键字:字符串 检测 获取 Regex | 更新日期: 2023-09-27 18:27:09
我有这样的文本:
Blah
Blah
Blah
Blah //// CODE --- do not change Blah
Blah
Blah
Blah
Blah //// CODE --- do not change Blah
I
Want
This
Text
Matched
我只想匹配它的这一部分(检测到最后//// CODE ---
之后的所有行):
I
Want
This
Text
Matched
我试过使用(?<='/'/'/'/ CODE ---).*
,但这不好。我想我错过了某种把戏。无论如何,什么是与我想要的文本匹配的正则表达式?我在.NET(C#)中工作。
您可以将此regex与多行和点标记一起使用,并获取捕获的组#1:
'A.*//// CODE ---.*?$'s(.+)'z
RegEx演示
使用下面的正则表达式,从组索引1中获取所需的文本。
.*(?<='/'/'/'/ CODE ---)[^'n]*'n(.*)
演示
或
['S's]*(?<='/'/'/'/ CODE ---).*'s(['s'S]+)
演示
通过负面展望。
(?:'/'/'/'/ CODE ---[^'n]*'n)(?!.*?'/'/'/'/ CODE ---)(.+)
演示
您只需使用此regex
.*'/'/'/'/ CODE ---.+?'n
带有多行和点全部标志,并替换为空字符串