Java 使用正则表达式查找两个字符串之间的字符串
我使用正则表达式在两个字符串之间查找字符串 代码:Java 使用正则表达式查找两个字符串之间的字符串,java,regex,Java,Regex,我使用正则表达式在两个字符串之间查找字符串 代码: 它对文本很有效,但当文本包含特殊字符(如换行符)时,它是中断的您需要编译模式,以便也匹配行终止符。为此,您需要使用DOTALL标志 Pattern pattern = Pattern.compile(regex, Pattern.DOTALL); 对不起,我已经有一段时间没有遇到这个问题了。您还必须将中间正则表达式从(.*)(\\n+)(.*)更改为(.*)。如果有多个EMAIL\u BODY\u XML\u START\u NODE元素,则
它对文本很有效,但当文本包含特殊字符(如换行符)时,它是中断的您需要编译模式,以便
也匹配行终止符。为此,您需要使用DOTALL
标志
Pattern pattern = Pattern.compile(regex, Pattern.DOTALL);
对不起,我已经有一段时间没有遇到这个问题了。您还必须将中间正则表达式从
(.*)(\\n+)(.*)
更改为(.*)
。如果有多个EMAIL\u BODY\u XML\u START\u NODE
元素,则需要使用惰性量词(*?
)。否则,正则表达式将匹配第一个元素的开头和最后一个元素的结尾,而不是每个元素都有单独的匹配项。虽然我猜你的情况不太可能是这样。对不起,多行
的作用与我想象的相反。您真正想要的是DOTALL
标志。
Pattern pattern = Pattern.compile(regex, Pattern.DOTALL);