正则表达式Java

问题描述

先行使用Inputfind在循环中使用,而不是matches

Pattern pattern = Pattern.compile("Input(.*?)(?=Input|$)");
Matcher matcher = pattern.matcher(s);
while (matcher.find()) {
   System.out.println(matcher.group(1));
}

看到它在线上工作:ideone

但是最好在这里使用split:

String[] result = s.split("Input");
// You need to ignore the first element in result, because it is empty.

看到它在线上工作:ideone

解决方法

我正在尝试输入之间的内容,我的模式没有做正确的事,请帮忙。

下面是sudocode:

s="Input one Input Two Input Three";
Pattern pat = Pattern.compile("Input(.*?)");
Matcher m = pat.matcher(s);

 if m.matches():

   print m.group(..)

要求的输出:

之一

猜你在找的技术问答相关文章

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)
是否允许实体正文进行HTTP DELETE请求?
如何将ZipInputStream转换为InputStream?
java.util.logging Java 8中的变量
PowerMockito.doReturn返回null
Java中的RESTful调用
Swing / Java:如何正确使用getText和setText字符串
特殊字符和重音字符
Android Studio中的ndk.dir错误
错误“找不到主类”