java regular用于分割字符串的表达式

时间:2017-11-06 07:41:46

标签: java regex split

我有一个像下面这样的字符串,想根据条件将其拆分。

|RECEIVE|Low| eventId=139569 msg=W4N Alert :: Critical : Interface Utilization for GigabitEthernet0/1 90.0 % in=2442 out=0 categorySignificance=/Normal categoryBehavior=/Communicate/Query categoryDeviceGroup=/Application
拆分后它应该看起来像这样

|RECEIVE|Low| 
 eventId=139569 
 msg=W4N Alert :: Critical : Interface Utilization for GigabitEthernet0/1 90.0 % 
 in=2442 
 out=0 
 categorySignificance=/Normal 
 categoryBehavior=/Communicate/Query 
 categoryDeviceGroup=/Application

条件是识别key=

之前的空格

1 个答案:

答案 0 :(得分:3)

您可以使用此正则表达式(?=\s\w+=)

进行拆分
String str = "|RECEIVE|Low| ... p=/Application";
String[] spl = str.split("(?=\\s\\w+=)");

<强>输出

|RECEIVE|Low|
 eventId=139569
 msg=W4N Alert :: Critical : Interface Utilization for GigabitEthernet0/1 90.0 %
 in=2442
 out=0
 categorySignificance=/Normal
 categoryBehavior=/Communicate/Query
 categoryDeviceGroup=/Application