我有一个编程任务,要求代码是单行(最短代码)。我做到了,但由于某种原因,我得到错误“非法逃脱字符”。有人说声称它不会在日食中做同样的事情。但是,我必须转入NetBeans项目。
这是我的代码:
public class ShortestCode {
public static void main(String[] args) {
System.out.println(JOptionPane.showInputDialog("Enter your email address").matches(".*@.*\..*") ? "Address Appears Valid" : "Address is Invalid");
}
}
我能做什么,NetBeans IDE可以接受?所有的错误都是“非法逃避性格”。并没有提供任何其他提示。
答案 0 :(得分:3)
这就是问题所在:
matches(".*@.*\..*")
我怀疑你想要一个具有这种模式的正则表达式:
.*@.*\..*
但是你把它写成Java字符串文字,所以你需要逃避反斜杠:
matches(".*@.*\\..*")
编译器抱怨,因为\.
不是有效的转义序列。
答案 1 :(得分:1)
单个点需要双斜杠来转义字符
"Enter your email address").matches(".*@.*\\..*")