|
5鱼币
本帖最后由 超级无敌磊果果 于 2022-9-18 10:55 编辑
需要完成日志数据提取:日志格式如下
10:50:23 123 log data[0x64 0x02 0x03 0x04 0x05 0x06 0x64 0x08]
期望采用正则表达式实现,表达式如下:
(^\d{2}:\d{2}:\d{2}\s\d{3}).*\[(0x64\s.*)\]
在此基础上,希望把0x64作为可变参数传入,以适配更加灵活的情景,在此过程中遇到了以下问题
期望结果:regular_expression = '(^\d{2}:\d{2}:\d{2}\s\d{3}).*\[(0x64\s.*)\]'
问题:实际使用中0x64为可变参数 keybyte ,想着可以使用字符串拼接解决:
方法一:
keybyte = '0x64'
regular_expression = "".join(['(^\d{2}:\d{2}:\d{2}\s\d{3}).*\[(', keybyte , '\s.*)\]'])
方法二:
keybyte = '0x64'
regular_expression = '(^\d{2}:\d{2}:\d{2}\s\d{3}).*\[(' + keybyte + '\s.*)\]'
使用上述方法得到结果为:regular_expression = '(^\\d{2}:\\d{2}:\\d{2}\\s\\d{3}).*\\[(0x64\\s.*)\\]',自动帮我增加了取消转义,但是我要的是保留转义,请问如何实现 |
|