Java正则表达式.cfg的拆分字符串

Java正则表达式.cfg的拆分字符串,java,regex,split,Java,Regex,Split,解析CFG文件中的行字符串时遇到问题 输入字符串为: String str = "The <animal> loves to <activity>."; String str=“爱的人。”; 我尝试使用带有正则表达式的split按非终端()进行分割,但是没有产生预期的结果: 我所尝试的: str.split("(?=<)"); Output: "The ", "<animal>

解析CFG文件中的行字符串时遇到问题

输入字符串为:

String str = "The <animal> loves to <activity>.";
String str=“爱的人。”;
我尝试使用带有正则表达式的split按非终端()进行分割,但是没有产生预期的结果:

我所尝试的:

str.split("(?=<)");

Output:

"The ", "<animal> loves to", "<activity>."

str.split((?=您可以使用lookarounds进行拆分:

String str = "The <animal> loves to <activity>.";
String[] parts = str.split("(?=<)|(?<=>)");
System.out.println(Arrays.toString(parts));
String str=“爱的人。”;

String[]parts=str.split(“(?=这是最快的方法吗?或者有更快的方法吗?),我以前使用charAt和substring进行解析的实现似乎更快。是的,使用基本字符串函数的解决方案可能比regex性能更好,但代码更多。regex很少是最快的解决方案。
String str = "The <animal> loves to <activity>.";
String[] parts = str.split("(?=<)|(?<=>)");
System.out.println(Arrays.toString(parts));
[The , <animal>,  loves to , <activity>, .]