gpt4 book ai didi

java - 如果字符在字符串开头出现奇数次则替换 ||正则表达式

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:14:10 26 4
gpt4 key购买 nike

我正在尝试创建一个正则表达式,它将查找字符串开头的正斜杠 (/) 的数量,如果它们是奇数个反斜杠,它们将被替换为空字符串

    String regex = "^/(//)*";
System.err.println("Case1: " + "/".replaceAll(regex,""));
System.err.println("Case2: " + "//".replaceAll(regex,""));
System.err.println("Case3: " + "///".replaceAll(regex,""));
System.err.println("Case4: " + "/b".replaceAll(regex,""));
System.err.println("Case5: " + "//b".replaceAll(regex,""));
System.err.println("Case6: " + "///b".replaceAll(regex,""));

我的正则表达式适用于案例 1、3、4 和 6,但在案例 2 和 5 中,它分别打印/和/b 作为输出。

请帮忙。

最佳答案

在您的正则表达式中添加一个否定的前瞻性 (?!/) 以检查匹配赔率后是否没有进一步的 / 。在您的情况下,它从 ///// 中选择奇数个 /,因此不起作用。

String regex = "^/(//)*(?!/)";
^^^^^ here

关于java - 如果字符在字符串开头出现奇数次则替换 ||正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23133200/

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