在所附代码中,我试图修改字符串toParse =“爱爱库爱爱库”;并获得输出
结果爱爱结果爱爱
但我所用的模式
爱^顾*
会给我输出结果
结果爱我结果爱我
ie关于'k‘或'o’的第一次出现它的分裂,但我的意图是在第一个上出现"koo",它必须分裂,这样我才能得到想要的结果。简而言之,我的意图是创建一个直到第一次出现"koo".的模式。
我还附加了我的java代码。
public static void main(String[] args) {
// regular expression here
Pattern pattern = Pattern.compile("love[^koo]*");
// String here
String toParse = "love love koo love love koo";
Matcher matcher = pattern.matcher(toParse);
boolean found = false;
while (matcher.find()) {
System.out.println("Result "
+ toParse.substring(matcher.start(), matcher.end()));
found = true;
}
if (!found) {
// console.format("No match found.%n");
System.out.println("No match found");
}
}发布于 2013-02-28 10:15:44
如果我正确地理解了你的问题,并且你想把所有的事情都弄清楚,你的判断应该是:
"(.+?)koo"你的结果是在小组(1)
while (matcher.find()) {
System.out.println("Result "+ matcher.group(1));
found = true;
}发布于 2013-02-28 10:39:18
保持简单,分裂..。
String str = "love love koo love love koo";
for (String s : str.split("koo *")) {
System.out.print("Result " + s);
}https://stackoverflow.com/questions/15132718
复制相似问题