繁体   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