gpt4 book ai didi

java - Java 中的正则表达式无效(括号中的退格字符)

转载 作者:行者123 更新时间:2023-12-02 11:40:03 26 4
gpt4 key购买 nike

为什么 Java 中的这个正则表达式无效?

(\"[^\"\f\n\v\b]+\")

它给出了这个错误(它不喜欢括号中的\b 或退格键):java.util.regex.PatternSyntaxException:索引 14 附近非法/不支持的转义序列
(\"[^\"\f\n\v\b]+\")

例如,在 Ruby 中它可以工作。以及 Regex101 https://regex101.com/r/YB24T5/1

最佳答案

为了将来的引用,Regex101 有一个 Java 代码生成器。您可以在他们网站的左栏找到它。

你的表达是正确的,只是没有正确转义。例如,所有反斜杠都需要转义。这是代码生成器的输出:

String regex = "(\\\"[^\\\"\\f\\n\\v\\b]+\\\")";
String string = "";

Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(string);

while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}

关于java - Java 中的正则表达式无效(括号中的退格字符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48655432/

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