簡體   English   中英

如何通過匹配驗證Java中的String?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM