以下语法删除特定短语之后的所有内容:
s/\(.*\Build ID:.\).*/\1/g
s/\(.*\Build Date:.\).*/\1/g
但是我需要保护这部分代码并删除:
输入:
Build ID: 14257823
Build Date: 2019-06-27 03:09:33
输出:
Build ID:
Build Date:
要仅剪切8位数字和时间戳,请使用:
s/[0-9]\{8\}//g
s/[0-9]\{4\}\-[0-9]\{2\}\-[0-9]\{2\} [0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}//g
答案 0 :(得分:0)
您可以使用字符类和重复量词。
示例中的构建ID格式为[0-9]\{8\}
(字符类采用所有数字并将其重复8次),日期格式为[0-9]\{4\}\-[0-9]\{2\}\-[0-9]\{2\} [0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}
:
这给出了以下正则表达式
s/\(.*Build ID:.\)[0-9]\{8\}/\1/g
s/\(.*Build Date:.\)[0-9]\{4\}\-[0-9]\{2\}\-[0-9]\{2\} [0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}/\1/g