我有这样的数据:
MSH|1|data1|data2|data3
PID|1|data5|data6|data7
PVI|1|data2|data2|data2
OBX|1|data0|data4|data9
OBX|2|data8|data8|data9
OBX|3|data1|data1|data1
我正在尝试使用正则表达式删除任何不以OBX开头的行。这就是我到目前为止所拥有的:
message = message.replace(/^(?!OBX).+/g, '');
即使我有/g
它只在第一个触发。还有其他我想念的东西吗?
答案 0 :(得分:0)
由于您在正则表达式中使用了锚^
,因此需要使用m
标志(MULTILINE):
message = message.replace(/^(?!OBX).+/gm, '');
如果没有m
修饰符,您的正则表达式只会在第一行的开头匹配^
,而不是在每行之前匹配。