我想评估一个文本,如果它至少包含一个斯堪的纳维亚字母并且没有空格或更多就可以了。我做错了什么?我测试了这个字符串:
String nor = " a d f ø ø å æ ";
if(s.matches("[a-zA-ZæøåÆØÅ]+[\\s]*"))
Matcher#matches
匹配整个String
. 因此正则表达式应该匹配整个String
. 您可以使用.*
前缀来匹配字符类之外的字符:
if (s.matches(".*[a-zA-ZæøåÆØÅ]+[\\s]*") {
// Functionality related to Scandinavian expression
}
此正则表达式将匹配任何包含斯堪的纳维亚字符的文本:
.*[æøåÆØÅ].*
(如果您的文本可能包含换行符,请记住使用 DOTALL。)