gpt4 book ai didi

java - 使用 java 中的正则表达式对特定字符串的第一次出现取反。

转载 作者:行者123 更新时间:2023-12-02 07:14:18 25 4
gpt4 key购买 nike

在附加的代码中,我尝试修改String toParse = "love love koo love love koo";并获取输出

Result love love Result love love

但是我正在使用的模式

love[^koo]*

会给我输出结果

Result love l Result love l

即在第一次出现“k”或“o”时进行拆分,但我的意图是在第一次出现“koo”时它必须 split ,这样我才能得到想要的结果。简而言之,我的目的是创建一个模式,直到第一次出现“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");
}

}

最佳答案

如果我正确理解你的问题,并且你想得到 koo 之前的所有内容,那么你的正则表达式应该是:

"(.+?)koo"

您的结果属于组(1)

while (matcher.find()) {
System.out.println("Result "+ matcher.group(1));
found = true;
}

关于java - 使用 java 中的正则表达式对特定字符串的第一次出现取反。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15132718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com