Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用regex解析日志_Python_Regex - Fatal编程技术网

Python 使用regex解析日志

Python 使用regex解析日志,python,regex,Python,Regex,我需要在代码中找到一些日志宏的所有调用。宏调用的形式如下: DEBUG[1-5] ( "methodName: the logged message", arguments) 但是新版本的宏会自动在方法名前加上前缀,所以我的任务是编写一个Python脚本,删除程序员已经指定的重复函数名 我正在使用re模块中的子函数。我计划替换以下| |符号所示的部分: | |调试[1-5](“方法名:| |记录的消息”,参数)只需调试[1-5](“ 问题如下: 要查找要替换的表达式,我使用以下正则表达式: (

我需要在代码中找到一些日志宏的所有调用。宏调用的形式如下:

DEBUG[1-5] ( "methodName: the logged message", arguments)
但是新版本的宏会自动在方法名前加上前缀,所以我的任务是编写一个Python脚本,删除程序员已经指定的重复函数名

我正在使用re模块中的子函数。我计划替换以下| |符号所示的部分:

| |调试[1-5](“方法名:| |记录的消息”,参数)
只需
调试[1-5](“

问题如下:

要查找要替换的表达式,我使用以下正则表达式:

((DEBUG | INFO | all other macros names )[1-5]*)\s*\(\"\w+:
但是它不匹配整个表达式(从DEBUG到冒号),而只匹配宏名,例如DEBUG5


我的表达式是错误的还是Python正则表达式处理中存在一些怪癖?(可能是因为我将调试[1-5]作为一个子组使用了这一事实与此有关?)

replaceAll("(DEBUG[1-5]\s*\\(\")\"[^:]+:\\s+([^;]+)", "$1$2");