我正在尝试使用正则表达式向前看文本中的文本并在此答案中查看foudn:
Regular Expression to find a string included between two characters while EXCLUDING the delimiters
我必须使用的分界符是
开始:RQ
结束:END-RQ
我添加了以下(powershell)代码:
$regex = [regex] '(?<=RQ)(.*?)(?=END-RQ)'
$matches = $regex.Matches($concat)
问题是匹配是从END-RQ抓取RQ作为下一个模式的开始。任何人都可以告诉我如何消除它(例如强制正则表达式完全匹配RQ和END-RQ)?将引号中的匹配模式包装似乎不起作用,即使报价被转义。
答案 0 :(得分:5)
试试这个:
$regex = [regex] '(?<=(?<!END-)RQ)(.*?)(?=END-RQ)'
答案 1 :(得分:0)
答案 2 :(得分:0)
这可能有用(很难说不确切知道你的数据是什么):
$regex = [regex]'(?<=(?:^|[^-])RQ)(.*?)(?=END-RQ)'