要在Java中验证String
,我可以使用String.matches()
。我想验证一个简单的字符串"*.txt"
,其中"*"
表示任何意思。输入例如test.txt
是正确的,但由于test.tt
".tt"
不正确。我尝试使用matches("[*].txt")
,但它不起作用。我该如何改进这些比赛?感谢。
答案 0 :(得分:2)
不要使用代码,你不明白!
对于您的简单问题,您可以完全避免使用正则表达式并只使用
yourString.endsWith(".txt")
如果您想执行此比较不区分大小写(即允许" .TXT"或" .tXt")使用
yourString.toLowerCase().endsWith(".txt")
如果您想了解更多有关java中正则表达式的信息,我建议您阅读一篇教程。例如this one。
答案 1 :(得分:1)
您可以尝试使用txt
个文件:
"file.txt".matches("^.*[.]txt$")
基本上^
表示字符串的开头。 .*
表示匹配任何贪婪的东西,因此尽可能多地使表达式匹配。而[.]
表示匹配点字符。后缀txt
只是txt文本本身。最后$
是字符串结尾的锚点,它确保字符串不包含任何其他内容。
答案 2 :(得分:0)
使用.+
,表示任何具有一个或不限长度的字符。它将确保避免仅.txt
matches(".+[.]txt")
仅供参考:[.]
只是与点字符匹配。