我有标签中的这种类型的文本:
RP/HDQ1S/HDQ1SJFDEAK/C8HJ/2024837 20APR23/0339Z GLS123 DATA 001 OS/AF1638 J 16APR 7 CDGHAJ LK1 1250 1420/LK *1A/E* 002 OS/AF1439 Q 20APR 4 HAJCDG LK1 0600 0735/LK *1A/E* 003 OS/AF9466 Q 20APR 4 CDGRNS LK1 1235 1340/LK *1A/E* 004 RF-HDQRM1S 081330 DK07E856C11618 300AB28DB011CD//HDQ1SJF DEAK/C8HJ/20248373/LBG/1S/T/FR/EUR CR-HDQ RM 1S 08MAR133 0Z
我正在尝试合并这样的行:
RP/HDQ1S/HDQ1SJFDEAK/C8HJ/2024837 20APR23/0339Z GLS123 DATA 000 OS/AF1638 J 16APR 7 CDGHAJ LK1 1250 1420/LK *1A/E* 000 OS/AF1439 Q 20APR 4 HAJCDG LK1 0600 0735/LK *1A/E* 000 OS/AF9466 Q 20APR 4 CDGRNS LK1 1235 1340/LK *1A/E* 000 RF-HDQRM1S 081330 DK07E856C11618 300AB28DB011CD//HDQ1SJFDEAK/C8HJ/20248373/LBG/1S/T/FR/EUR CR-HDQ RM 1S 08MAR1330Z
使用以下表达式,我设法排除了第一行,包含“RP”,但我只得到一个匹配项,我需要得到两个:
(^(?!RP).+)((\n )|(\n ))
我在 JavaScript 中使用它来替换:
replace(/^(?!RP)(.+)((\n )|(\n ))/gm, function (match, p1) { return p1 });
目标是如果新行以 6 或 8 个空格开头,则将每个新行与前一行合并,并忽略以 RP 开头的第一行。