如何通过匹配验证Java中的String?

时间:2014-04-15 13:03:08

标签: java regex string

要在Java中验证String,我可以使用String.matches()。我想验证一个简单的字符串"*.txt",其中"*"表示任何意思。输入例如test.txt是正确的,但由于test.tt ".tt"不正确。我尝试使用matches("[*].txt"),但它不起作用。我该如何改进这些比赛?感谢。

3 个答案:

答案 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")

仅供参考:[.]只是与点字符匹配。