簡體   English   中英

從python腳本執行時無法理解pcregrep的返回碼

[英]Unable to understand return code of pcregrep when executed from python script

我正在嘗試使用pcregrep命令解析一組正則表達式。 該命令將從python執行,輸出格式化並存儲在python數據結構中。 我可以執行除以下之一以外的所有正則表達式

"^.{159}-{51}\s*\n.{159}Attempting to start (?:ORM(R)?|CPS)  channel\s*\n.*in\s*\n.*init_n_config\s*\n.*H_ICM_C_MCC_CHANNEL_MANAGER\.C\s*\n.*at  line\s*\n.*\d+\s*$"

我正在打印錯誤代碼,以及通過執行來自python的pcregrep命令得到的消息。

我正在使用python的commands實用程序獲取錯誤代碼為256和空消息。 我正在打印cmd_output [0](用於返回代碼)和command_output [1](用於錯誤消息),我嘗試從命令行執行此命令,它工作正常。 打印與上述正則表達式匹配的所有匹配行。

有什么我想念的嗎? 僅上述正則表達式給出錯誤。 其余的表達式都可以正常工作。

返回碼256(當通過各種類型的Python子進程調用方法使用時)可能意味着該子進程以退出碼1正常退出,對於grep而言,該退出表示未找到任何內容。 因此,這可能不是錯誤,而只是找不到所需的正則表達式。

現在,該正則表達式包含幾個特殊字符,例如星號和反斜杠。 有很多方法可以將它們以錯誤的方式移交給他們,以便在處理過程中對它們進行解釋和破壞。 我建議看一下這些要點。

如果您告訴我們更多有關如何使用此regexp模式的信息,將對您有所幫助,例如,請發布使用該regexp模式的代碼以及結果如何處理等。

暫無
暫無

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

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