[英]Regex matching wrong pattern
我正在嘗試使用正則表達式將文本從Word文檔中拉出,並在此答案中查找foudn:
我必須使用的分度計是
開始於: RQ
結束: END-RQ
我添加了以下(powershell)代碼:
$regex = [regex] '(?<=RQ)(.*?)(?=END-RQ)'
$matches = $regex.Matches($concat)
問題在於匹配是從END-RQ獲取RQ作為下一個模式的開始。 誰能告訴我如何消除它(例如,強制正則表達式完全匹配RQ和END-RQ)? 即使將引號轉義,將匹配模式包裝在引號中似乎也不起作用。
嘗試這個:
$regex = [regex] '(?<=(?<!END-)RQ)(.*?)(?=END-RQ)'
這可能有效(很難說,不確切知道您的數據是什么):
$regex = [regex]'(?<=(?:^|[^-])RQ)(.*?)(?=END-RQ)'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.