我正在尝试匹配一个字符串,使用java的matches方法从一个点开始。为什么这不起作用:
".why?".matches("\\.*");
当我使用单斜杠时,我收到无效转义序列的错误。提前致谢
"\\.*"
匹配由零个或多个'.'
s 组成的字符串。它匹配以下(引用的)字符串:
""
"."
".."
"..."
(等等)
你想要:"\\..*"
相反。请注意,.
默认情况下不匹配换行符,因此它不会匹配以下字符串:
".Why? \n Not!"
要匹配这样的字符串,您需要启用 DOT-ALL:"(?s)\\..*"
自己试了一下。这对我有用
System.out.println(".why?".matches("^\\..*"));
你哪里少了一个“。” 匹配“为什么?” 部分。