gpt4 book ai didi

java - 模式中的冗余转义字符

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:06:58 26 4
gpt4 key购买 nike

我正在尝试以下代码,但它打印错误。我预计这会打印出来。此外,Pattern.Compile() 语句给出警告“冗余转义字符”。有人可以帮助我了解为什么这没有返回 true 以及为什么我会看到警告。

public static void main(String[] args) {
String s = "\\n";
System.out.println(s);

Pattern p = Pattern.compile("\\\n");
Matcher mm = p.matcher(s);
System.out.println(mm.matches());
}

最佳答案

s="\\n"表示您分配一个反斜杠和 n到变量 s ,它包含一个两个字符的序列\n .

Pattern.compile("\\\n")意味着你定义了一个正则表达式模式 \<LF> (一个反斜杠和一个换行符、换行符、字符)匹配一个换行符 (LF) 字符,因为转义的非单词非特殊字符匹配它们自己。 \,匹配 , , \;匹配 ; .因此,此模式不会匹配变量 s 中的字符串.

因为\<LF> 抛出了多余的转义警告匹配可以仅与 <LF> 匹配的相同换行符.

更多例子:

<表类="s-表"><头>正则表达式正则表达式字符串文字匹配文本匹配字符串文字<正文> <LF> "\n" <LF> "\n" \n "\\n" <LF> "\n" \\n "\\\\n" \n "\\n"

关于java - 模式中的冗余转义字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40953460/

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