gpt4 book ai didi

java - 使用正则表达式提取任何类型的大写字母第二次出现后的所有内容

转载 作者:行者123 更新时间:2023-12-03 07:54:51 25 4
gpt4 key购买 nike

我需要帮助构建具有 Java 风格的正则表达式,该表达式会在任何类型的大写字母第二次出现后提取所有内容。

例如,对于示例字符串“98A02D1”,结果应为D1。第二次出现大写字母之前的内容并不重要。

我想到的是:(?:.*?[A-Z]){2}(.*)

这不起作用,只能捕获第三次出现的情况。减少大括号中的数字没有帮助。感谢任何帮助!

最佳答案

您可以从第二个大写字母开始进行匹配。或者您可以匹配第二个大写字母之前的任何内容并将其替换为空白。

以下正则表达式将匹配应删除的部分:

^[^A-Z]*[A-Z][^A-Z]*

正则表达式解释:

  • ^:字符串开头
  • [^A-Z]*:任意非大写字符序列
  • [A-Z]:大写字符
  • [^A-Z]*:任意非大写字符序列

在您的 Java 代码中:

String string = "98A02D1";
String pattern = "^[^A-Z]*[A-Z][^A-Z]*";

System.out.println(string.replaceFirst(pattern, ""));

输出:

D1

查看正则表达式演示 here和 java 演示 here .

关于java - 使用正则表达式提取任何类型的大写字母第二次出现后的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76296874/

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