正则表达式:如果不是" OBX"

时间:2016-04-07 19:23:49

标签: javascript regex

我有这样的数据:

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它只在第一个触发。还有其他我想念的东西吗?

1 个答案:

答案 0 :(得分:0)

由于您在正则表达式中使用了锚^,因此需要使用m标志(MULTILINE):

message = message.replace(/^(?!OBX).+/gm, '');

如果没有m修饰符,您的正则表达式只会在第一行的开头匹配^,而不是在每行之前匹配。

RegEx Demo