0

我正在尝试使用 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 命令得到的消息。

我收到错误代码为 256 和空消息我正在使用 python 的命令实用程序。我正在打印 cmd_output[0](用于返回代码)和 command_output[1](用于错误消息)我尝试从命令行执行它,它运行良好。它打印与上述正则表达式匹配的所有匹配行。

有什么我在这里想念的吗。只有上面的正则表达式给出错误。其余的表达式工作得很好。

4

1 回答 1

0

返回代码 256(当通过各种 Python 子进程调用方法使用它时)可能意味着子进程以 exitcode 1 正常退出,这对于 grep 意味着它没有找到任何东西。所以这可能不是错误,而只是找不到所需的正则表达式。

现在,该正则表达式包含几个特殊字符,如星号和反斜杠。有很多方法可以以错误的方式移交这些内容,因此它们会被解释并因此在过程中被破坏。我建议看看这些点。

如果您告诉我们更多有关如何使用此正则表达式模式的信息,这将有所帮助,即请发布使用它的代码以及结果发生的情况等。

于 2013-09-18T09:58:58.150 回答