簡體   English   中英

正則表達式匹配錯誤的模式

[英]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)'

您應該下載此應用程序:

http://www.sellsbrothers.com/posts/Details/12425

嘗試調試正則表達式時,它是無價的。

這可能有效(很難說,不確切知道您的數據是什么):

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM