给定由多行(包括空行)组成的多行文本字符串,最有效的正则表达式
尝试像
这样的简单表达式(?m)(.*)((?:\s|.)*)
不能超过某个字符串长度(只有几百个字符),导致堆栈溢出(!)。之后的许多变化,同样的问题仍然存在......
答案 0 :(得分:2)
我不确定为什么你必须使用正则表达式,但是如果你需要将它分成两组,我会匹配所有内容,直到可能的换行序列,然后是所有内容......
(.*)[\r\n]*((?s).*)
答案 1 :(得分:1)
使用限制拆分可以轻松完成此操作
String[] a = str.split("\\R", 2);