作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为什么 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/
我是一名优秀的程序员,十分优秀!