[英]How to validate String in Java by matches?
要驗證Java中的String
,我可以使用String.matches()
。 我想驗證一個簡單的字符串"*.txt"
,其中"*"
表示任何含義。 輸入例如test.txt
是正確的,但是由於".tt"
, test.tt
是不正確的。 我嘗試使用matches("[*].txt")
,但是不起作用。 如何改善這場比賽? 謝謝。
不要使用代碼,您不會理解!
對於您的簡單問題,您完全可以避免使用正則表達式,而只需使用
yourString.endsWith(".txt")
並且如果您要執行此比較,則不區分大小寫(即允許“ .TXT”或“ .tXt”)使用
yourString.toLowerCase().endsWith(".txt")
如果您想了解有關Java正則表達式的更多信息,我建議您使用一個教程。 例如這個 。
您可以嘗試使用txt
文件:
"file.txt".matches("^.*[.]txt$")
基本上, ^
表示字符串的開頭。 .*
表示匹配任何貪婪的內容,因此可以使表達式匹配。 [.]
表示匹配點字符。 后綴txt
只是txt文本本身。 最后$
是字符串結尾的錨點,它確保該字符串不再包含任何其他內容。
使用.+
,表示任何具有一個或無限長度的字符。 它將確保避免僅輸入.txt
這樣的輸入
matches(".+[.]txt")
僅供參考: [.]
僅與點字符匹配。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.