为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

繁花不似锦 2019-07-20 10:11:30
Regex在String.Matters()中不起作用我有一小块代码String[] words = {"{apf","hum_","dkoe","12f"};for(String s:words){     if(s.matches("[a-z]"))     {         System.out.println(s);     }}应该打印dkoe但它什么也没印!
查看完整描述

3 回答

?
元芳怎么了

TA贡献1798条经验 获得超7个赞

欢迎来到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().


查看完整回答
反对 回复 2019-07-20
?
动漫人物

TA贡献1815条经验 获得超10个赞

[a-z]匹配单株在a和z之间。所以,如果你的字符串只是"d"例如,它就会匹配并打印出来。

您需要将regex更改为[a-z]+匹配一个或多个字符


查看完整回答
反对 回复 2019-07-20
?
慕雪6442864

TA贡献1812条经验 获得超5个赞

Java实现regexes试图匹配整个字符串

这与perl regexes不同,perl regexes试图找到匹配的部分。

如果要查找只有小写字符的字符串,请使用模式。[a-z]+

如果要查找包含至少一个小写字符的字符串,请使用模式。.*[a-z].*


查看完整回答
反对 回复 2019-07-20
  • 3 回答
  • 0 关注
  • 574 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信