gpt4 book ai didi

Java:查找第一个正则表达式的索引

转载 作者:搜寻专家 更新时间:2023-10-31 08:09:16 25 4
gpt4 key购买 nike

我需要更改一段代码,其中包括:

string.indexOf("bc")

如果“bc”前面有字母“a”,如何通过跳过出现的解决方案来改变这一点。

我不想找到这些:

美国广播公司

但仅:

xbc

其中 x 可以是除 a 之外的任何内容(甚至为空)。

我想我可以放入一个条件来检查索引 i-1 == a,如果为真,则再次调用 indexOf 方法。但我认为这不会产生非常漂亮的代码。

使用正则表达式的解决方案会是什么样子?

编辑:看到一些回复后的提示。如果不仅能获得正则表达式,还能获得查找索引所需的 API 调用,那就太好了。

最佳答案

根据要求提供更完整的解决方案:

    /** @return index of pattern in s or -1, if not found */
public static int indexOf(Pattern pattern, String s) {
Matcher matcher = pattern.matcher(s);
return matcher.find() ? matcher.start() : -1;
}

调用:

int index = indexOf(Pattern.compile("(?<!a)bc"), "abc xbc");

关于Java:查找第一个正则表达式的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11214245/

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