Java 正则表达式拆分第一行和所有剩余行中的文本
Java regex to split text in first line and all remaining lines
给定一个由多行(包括空白行)组成的多行文本字符串,什么是最有效的正则表达式
- 完全匹配字符串,并且
- 将字符串分成两组,分别由第一行和随后的所有内容组成?
尝试像
这样的简单表达式
(?m)(.*)((?:\s|.)*)
超过一定的字符串长度(只有几百个字符)时不起作用,导致堆栈溢出 (!)。之后有很多变化,同样的问题仍然存在...
我不确定你为什么必须使用正则表达式,但如果你需要将其分成两组,我会匹配所有内容直到可能的换行序列,然后再匹配所有内容...
(.*)[\r\n]*((?s).*)
Split with limit 可以轻松做到这一点
String[] a = str.split("\R", 2);
给定一个由多行(包括空白行)组成的多行文本字符串,什么是最有效的正则表达式
- 完全匹配字符串,并且
- 将字符串分成两组,分别由第一行和随后的所有内容组成?
尝试像
这样的简单表达式(?m)(.*)((?:\s|.)*)
超过一定的字符串长度(只有几百个字符)时不起作用,导致堆栈溢出 (!)。之后有很多变化,同样的问题仍然存在...
我不确定你为什么必须使用正则表达式,但如果你需要将其分成两组,我会匹配所有内容直到可能的换行序列,然后再匹配所有内容...
(.*)[\r\n]*((?s).*)
Split with limit 可以轻松做到这一点
String[] a = str.split("\R", 2);