java - 使用正则表达式在java中分割字符串

标签 java regex split

我正在尝试使用正则表达式“A.*B”分割字符串,它可以很好地检索“A”和“B”之间的字符串。但是点“.”不包括换行符\n、\r。 您能指导我如何实现这一目标吗?

谢谢

<小时/>

谢谢大家。 Pattern.DOTALL 非常有效。

我还有一个与此相关的问题。如果我需要提取'A'和'B'之间的所有字符串(基本上与上面的正则表达式匹配),该怎么办?

我尝试使用匹配器类的 find() 和 group() ,但使用下面的模式似乎返回整个字符串。

模式 p = Pattern.compile("A.*B",Pattern.DOTALL);

最佳答案

使用带有 MULTILINE 标志的 java.util.regex.Pattern:

import java.util.regex.Pattern;

Pattern pattern = Pattern.compile("A.*B", Pattern.MULTILINE);
pattern.split(string);

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

相关文章:

java - 获取最新的文件

java - 删除其中包含特定字符串的一行文本

正则表达式和下一个符号不是 '('

regex - 正则表达式适用于regex101.com,但不适用于prod

r - 将变量从逗号拆分为有序数据框

java - 如何在Java中分割一个数字而不丢失其他相同的字符

java - LWJGL 和光滑的着色四边形不正确

java - Spitter 不满足依赖异常 Spring MVC

Java正则表达式来验证数字逗号分隔的数字和连字符

php - 从 Google map img 的 src 中提取坐标