我想获取文本和特定字符串,直到它匹配另一个字符串。我有 “门数:5 这个门后面唧唧歪歪...如何获得两个特定字符串之间的文本
门数:6 这个门后面唧唧歪歪” 我需要得到“门数:5 这门喇嘛喇嘛的背后喇嘛......”
String str = " Door 51 text1 Door 61 text2 Door 10 text3";
Pattern pattern = Pattern.compile("\\s\\bPage\\b\\s\\d+(.*?)\\s\\bPage\\b\\s\\d+");
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
System.out.println(matcher.group(1));
}
这是我的代码,但是当我运行它。我需要门51 text1的我只得到文本1,门61文本2,门10文字3。
为什么不直接劈在'Door',那么第一个空格后生成的字符串分割字符串?将第一部分转换为int。这样,你最终会得到类似'[[61,“text2”],[10,“text3”]]''的东西。不需要正则表达式。 – domsson