Regex在String.Matters()中不起作用

Regex在String.Matters()中不起作用

我有一小块代码

String[] words = {"{apf","hum_","dkoe","12f"};for(String s:words){
    if(s.matches("[a-z]"))
    {
        System.out.println(s);
    }}

应该打印

dkoe

但它什么也没印!


繁花不似锦
浏览 584回答 3
3回答

元芳怎么了

欢迎来到Java的错误名称.matches()方法.。它尝试并匹配所有输入。不幸的是,其他语言也效仿:(如果要查看regex是否与输入文本匹配,请使用Pattern..Matcher而.find()匹配方法:Pattern p = Pattern.compile("[a-z]");Matcher m = p.matcher(inputstring);if (m.find())     // match如果您希望看到输入是否只有小写字母,则可以使用.matches(),但是您需要匹配一个或多个字符:+到您的角色类,如[a-z]+..或使用^[a-z]+$和.find().

动漫人物

[a-z]匹配单株在a和z之间。所以,如果你的字符串只是"d"例如,它就会匹配并打印出来。您需要将regex更改为[a-z]+匹配一个或多个字符

慕雪6442864

Java实现regexes试图匹配整个字符串这与perl regexes不同,perl regexes试图找到匹配的部分。如果要查找只有小写字符的字符串,请使用模式。[a-z]+如果要查找包含至少一个小写字符的字符串,请使用模式。.*[a-z].*
打开App,查看更多内容
随时随地看视频慕课网APP