sublime正则表达式技巧
背景:
生产事故之后,需要补数据。这里有log日志文件数据,截取对应有效JSON数据,快速编写补偿脚步。
流程:
1、日志格式如下:
2022-04-07 14:59:08.929 INFO [,] [xxx] com.mumu.xxxClass:157 - shareExitVideoRoom RedisRoomUserEntity={"bizId":"95f02b5bb8794744835ec8b669081e23","createTime":1649314740770,"online":0,"role":3,"roomId":14,"userId":111}
2022-04-07 14:58:21.072 INFO [,] [xxx] com.mumu.xxxClass:157 - shareExitVideoRoom RedisRoomUserEntity={"bizId":"42d65c05a5ee410cb52384f2c6110cdf","createTime":1649314644246,"online":0,"role":3,"roomId":140402,"userId":110}
2、需截取的业务JSON数据格式:
{"bizId":"95f02b5bb8794744835ec8b669081e23","createTime":1649314740770,"online":0,"role":3,"roomId":14,"userId":111}
{"bizId":"42d65c05a5ee410cb52384f2c6110cdf","createTime":1649314644246,"online":0,"role":3,"roomId":140402,"userId":110}
3、正对2中每行业务json数据,编写脚本逐行读取
技改一:
2022-04-07 14:58:21.072 INFO [,] [xxx] com.mumu.xxxClass:157 - shareExitVideoRoom RedisRoomUserEntity={左耳朵前面的字符全部替换为空
.*{替换为{
“.”表示:匹配除"\r\n"之外的任何单个字符;
“*”表示:零次或多次匹配前面的字符或子表达式
技改二(换行符替换为逗号):
技改三(逗号分割的字符串,转换为逗号&换行分割):
技改4(光标置于每一行末尾处):
1、command + a 全选
2、使用快键键:shift+command+l,你会发现光标默认移动到行尾了
3、command + 左右移动键