我需要更改一段包含以下内容的代码:
string.indexOf("bc")
如果跳过以“ a”开头的字母“ bc”的出现,该如何更改呢?
我不想找到这些:
abc
但是只有:
xbc
其中x可以是a(甚至是空)。
我认为我可以将条件设置为检查索引i-1 == a,如果为true,则再次调用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");
在这个问题的背景下,我想做以下修改: 查找: funcA(参数0,参数1,参数2,参数3); 替换: funcA可以有除param0之外的任意数量的参数。怎么做呢?为简单起见,忽略基本情况,即当传递给funcA的参数仅为param0时。 funcA是: 职能是: 编辑: 参数(param1,param2..)只是包含字母的字符串。
问题内容: 我正在解析的字符串中可能包含任意数量的带引号的字符串(我在解析代码,并尝试避免使用PLY)。我想找出是否有子字符串被引用,并且我有子字符串索引。我最初的想法是使用re查找所有匹配项,然后找出它们代表的索引范围。 似乎我应该将re与类似的正则表达式一起使用(目前,我避免使用三引号和此类字符串)。当我使用findall()时,会得到一个匹配字符串的列表,虽然有些不错,但我需要索引。 我的子
我有3个正则表达式,但当模式匹配时执行相同的操作,所以我考虑将所有三个表达式合并为一个。我尝试了很多,但无法让“|”I.e”或“在我的正则表达式中工作 regex1:<代码>文本。替换(/([\u00A9-\u3299])/g,函数myFunction(x){…} regex2: regex3: 我试过这样做,但它不起作用regex:
问题内容: 我想将所有表达式与一个空格完全匹配。目前,我正在使用。但是,这似乎不是一个很好的方法。 问题答案: 为什么不?很好,有点复杂:
问题内容: 我有以下一行, 我需要拿这个词ABC, 我写了以下代码片段, 所以,如果我说得到,ABC:但是如果我说是ABC,那么我想知道 这是什么和意味着什么呢?如果有人可以用很好的例子向我解释,那会更好。 正则表达式模式中包含一个:,为什么结果忽略了它?组1是否检测到括号内的所有单词? 因此,如果我再加上两个括号,例如:,那么会有两个小组吗?group(1)将退还零件并退还零件? 给出该代码段的