java正则表达式用于分割字符串

标签 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=之前的空格

最佳答案

您可以使用此正则表达式进行拆分(?=\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

关于java正则表达式用于分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47131988/

相关文章:

python - 使用正则表达式拆分逗号、空格或分号分隔的字符串

linux - 在 Linux 中以大写字母分割驼峰路径

linux - 如何使用 linux 将大型 csv 拆分为多个小型 csv?

java - view = inflater.inflate(R.layout.video_list_item,parent,false);导致强制关闭错误

java - “热代码替换”不起作用——Eclipse 不会更改 JBoss 上的任何代码

regex - perl可以一次性用自己的替代词替换多个关键字吗?

regex - vi:::s 如何只替换一行中的第二次出现?

javascript - 拆分逗号并忽略双引号(来自文件阅读器/加载的文件 - 使用正则表达式)

java - JUnit parameterized Tests 获取测试后的参数

java - JLabel HTML 中的相对路径