gpt4 book ai didi

Java 正则表达式与换行符不匹配

转载 作者:行者123 更新时间:2023-12-04 23:19:33 27 4
gpt4 key购买 nike

我的代码如下:

public class Test {
static String REGEX = ".*([ |\t|\r\n|\r|\n]).*";
static String st = "abcd\r\nefgh";

public static void main(String args[]){
System.out.println(st.matches(REGEX));
}
}

代码输出 false .在任何其他情况下,它都按预期匹配,但我无法弄清楚这里的问题是什么。

最佳答案

您需要删除字符类。

static String REGEX = ".*( |\t|\r\n|\r|\n).*";

你不能放 \r\n在字符类中。如果这样做,它将被视为 \r , \n作为两个独立的项目,依次匹配 \r\n .您已经知道 .*不会匹配任何换行符, .*匹配第一部分,下一个字符类将匹配单个字符,即 \r .现在下面的字符是 \n不会被 .* 匹配,所以你的正则表达式失败了。

关于Java 正则表达式与换行符不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31378625/

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