当前位置: 首页 > 面试题库 >

正则表达式不适用于String.matches()

单于海荣
2023-03-14
问题内容

我有这小段代码

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

应该打印

dkoe

但是它什么也没打印!


问题答案:

欢迎使用Java的错误命名.matches()方法…它尝试并匹配所有输入。不幸的是,其他语言也纷纷效仿:(

如果要查看正则表达式是否与输入文本匹配,请使用Pattern,a Matcher.find()匹配器的方法:

Pattern p = Pattern.compile("[a-z]");
Matcher m = p.matcher(inputstring);
if (m.find())
    // match

如果确实要查看输入是否仅包含小写字母,则可以使用.matches(),但需要匹配一个或多个字符:将a附加+到字符类中,如中所示[a-z]+。或使用^[a-z]+$.find()



 类似资料:
  • 问题内容: 我有一个正则表达式:。如果可以的话,可以在浏览器控制台中正常工作。 在Node.js中执行时会抛出同一行代码。 我想匹配字符串中包含的所有变量,如果用和括起来,则忽略它们。 问题答案: 您可以使用此正则表达式(可能需要稍作更改,具体取决于您是要检测行的开始/结束还是这些类型的工具)。我在内的值周围添加了一个补偿组,因为此正则表达式还将匹配之前和之后的char 。 如果您可以放置在字符串

  • 我正在努力想出一个正则表达式,它只能在单词的开头找到符号。例如: 这里: 但不是这里:

  • 昨天,我需要向正则表达式添加一个文件路径,创建一个如下所示的模式: 一开始正则表达式不匹配,因为包含几个正则表达式特定的符号,如 或 。作为快速修复,我将它们替换为 和 . 与 . 然而,我问自己,是否没有一种更可靠或更好的方法来清除正则表达式特定符号中的字符串。 Python 标准库中是否支持此类功能? 如果没有,您是否知道一个正则表达式来识别所有正则表达式并通过替代品清理它们?

  • 在 OpenResty 中,同时存在两套正则表达式规范:Lua 语言的规范和 ngx.re.* 的规范,即使您对 Lua 语言中的规范非常熟悉,我们仍不建议使用 Lua 中的正则表达式。一是因为 Lua 中正则表达式的性能并不如 ngx.re.* 中的正则表达式优秀;二是 Lua 中的正则表达式并不符合 POSIX 规范,而 ngx.re.* 中实现的是标准的 POSIX 规范,后者明显更具备通用

  • 一、概述 二、匹配单个字符 三、匹配一组字符 四、使用元字符 五、重复匹配 六、位置匹配 七、使用子表达式 八、回溯引用 九、前后查找 十、嵌入条件 参考资料 一、概述 正则表达式用于文本内容的查找和替换。 正则表达式内置于其它语言或者软件产品中,它本身不是一种语言或者软件。 正则表达式在线工具 二、匹配单个字符 . 可以用来匹配任何的单个字符,但是在绝大多数实现里面,不能匹配换行符; . 是元字

  • 这部分内容可以说是学习shell脚本之前必学的内容。如果你这部分内容学的越好,那么你的shell脚本编写能力就会越强。所以不要嫌这部分内容啰嗦,也不要怕麻烦,要用心学习。一定要多加练习,练习多了就能熟练掌握了。 在计算机科学中,正则表达式是这样解释的:它是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模