正则表达式保留中间字符串的操作方法

一行字符串,有时候我们需要掐头去尾,只保留中间一个或几个部分,可以这么操作:

希望保留的部分采用小括号包围住,在替换的地方,第一个小括号采用 $1去替换,第二个小括号采用 $2 去代替即可。例子:


0x87,0x39,0x03,0x00,0x09,0xB3,0x86,0x85,0xAC,0x57,
0x87,0x39,0x03,0x00,0x09,0xB5,0x86,0x85,0x75,0x81,
0x87,0x39,0x05,0x00,0x36,0xB7,0x05,0x00,0x00,0x05,0x2A,0x67,
0x87,0x39,0x05,0x00,0x36,0xB8,0x05,0x00,0x00,0x05,0xD6,0x0D,
0x87,0x39,0x02,0x00,0x13,0xCA,0x13,0x78,0xE5,
0x87,0x39,0x03,0x00,0x09,0xCB,0x03,0x03,0xFC,0x02,
0x87,0x39,0x03,0x00,0x09,0xD1,0x00,0x0A,0xBA,0x43,
0x87,0x39,0x02,0x00,0x13,0xD7,0x13,0x91,0xC0,
0x87,0x39,0x02,0x00,0x13,0xD8,0x13,0x59,0x43,
0x87,0x39,0x02,0x00,0x13,0xD9,0x40,0x9F,0x3A,
0x87,0x39,0x04,0x00,0x2C,0xE1,0x00,0x0A,0x9E,0x97,0x2B,
0x87,0x39,0x08,0x00,0x2A,0xEC,0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x17,0xF8,
0x87,0x39,0x06,0x00,0x30,0xF0,0x55,0xAA,0x52,0x08,0x06,0xDB,0x78,
0x87,0x39,0x06,0x00,0x30,0xB0,0x08,0x38,0x14,0x38,0x15,0xB2,0xE0,
0x87,0x39,0x05,0x00,0x36,0xB1,0x38,0x18,0x38,0x19,0x17,0x7A,
0x87,0x39,0x05,0x00,0x36,0xB2,0x00,0x38,0x37,0x37,0x7E,0x86,
0x87,0x39,0x03,0x00,0x09,0xB3,0x37,0x38,0x74,0x1A,
0x87,0x39,0x06,0x00,0x30,0xB6,0x08,0x38,0x14,0x38,0x15,0x48,0xF8,
0x87,0x39,0x05,0x00,0x36,0xB7,0x38,0x18,0x38,0x19,0x8F,0x41,
0x87,0x39,0x05,0x00,0x36,0xB8,0x00,0x38,0x37,0x37,0xD6,0xCA,
0x87,0x39,0x03,0x00,0x09,0xB9,0x37,0x38,0x0E,0x69,

 

 

我们希望去掉前 5 个字节,去掉末尾 2 个字节

那么正则表达式可以这么操作:

1、查找栏内这么写:^0x87,0x39,.{15}(.*).{10}$

2、替换栏内这么写:$1

即可实现效果:

0xB3,0x86,0x85,
0xB5,0x86,0x85,
0xB7,0x05,0x00,0x00,0x05,
0xB8,0x05,0x00,0x00,0x05,
0xCA,0x13,
0xCB,0x03,0x03,
0xD1,0x00,0x0A,
0xD7,0x13,
0xD8,0x13,
0xD9,0x40,
0xE1,0x00,0x0A,0x9E,
0xEC,0x00,0x00,0x00,0x00,0x00,0x00,0x82,
0xF0,0x55,0xAA,0x52,0x08,0x06,
0xB0,0x08,0x38,0x14,0x38,0x15,
0xB1,0x38,0x18,0x38,0x19,
0xB2,0x00,0x38,0x37,0x37,
0xB3,0x37,0x38,
0xB6,0x08,0x38,0x14,0x38,0x15,
0xB7,0x38,0x18,0x38,0x19,
0xB8,0x00,0x38,0x37,0x37,
0xB9,0x37,0x38,

 

posted @ 2024-04-23 14:42  荒原狼的技术博客  阅读(511)  评论(0)    收藏  举报