不区分大小写的字符串过滤器

Case-Insensitive String Filter

这是我找到的一行代码:

if(!word.matches("[a-zA-Z]{"+word.length()+"}")) return;

具体来说 {"+word.length()+"} 是做什么的,它背后的逻辑是什么,我在哪里可以阅读更多相关信息?

这里的大括号表示符号的数量,例如{4}表示恰好是四个符号。在这里您指定整个字符串(插入它的长度)由小或大的拉丁字母组成。您也可以指定 {2-4},例如,表示匹配给定模式的字母数的间隔。希望这可以帮助。

你误读了参数...这个:

"[a-zA-Z]{"+word.length()+"}"

相同
    "[a-zA-Z]{" // this is a string

+

    word.length() // this is getting an integer( is the length of the string word)

+

    "}" //another litt. string.

所以您在技术上连接了 2 个字符串并在中间放置了一个数字...

就是这样