正则表达式匹配错误的模式

Din*_*ale 1 c# regex powershell

我正在尝试使用正则表达式向前看文本中的文本,并在此答案中查看foudn:

正则表达式,用于查找包含在两个字符之间的字符串,同时排除分隔符

我必须与之合作的分界线是

开始: RQ

结束: END-RQ

我添加了以下(powershell)代码:

$regex = [regex] '(?<=RQ)(.*?)(?=END-RQ)' 

$matches = $regex.Matches($concat) 
Run Code Online (Sandbox Code Playgroud)

问题是匹配是从END-RQ抓取RQ作为下一个模式的开始.任何人都可以告诉我如何消除它(例如强制正则表达式完全匹配RQ和END-RQ)?即使引号被转义,将引号中的匹配模式包装似乎也不起作用.

Kin*_*ing 5

试试这个:

$regex = [regex] '(?<=(?<!END-)RQ)(.*?)(?=END-RQ)'
Run Code Online (Sandbox Code Playgroud)