編寫一個簡單的正則表達式,但我從來沒有在這方面很擅長。Java正則表達式a-z,A-Z,0-9和(。)(_)( - )
我想要做的是檢查一個字符串(文件名),以確保它只包含a-z,A-Z,0-9或特殊字符下劃線(_)句點(。)或短劃線( - )。
這裏就是我有
if(filename.length() < 1 || !filename.matches("^[a-zA-Z0-9[.][_][-]]+"))
return false;
else
return true;
這似乎工作,但看起來不是很優雅的我。有沒有更好的/更可讀的方式來寫這個?
在此先感謝!只是試圖學習如何更好地編寫這些buggers。
- 將會
其他人回答正則表達式的問題很好,但爲什麼你檢查字符串的長度大於1。如果字符串爲「」,不能匹配'「我很好奇^ +」' – kojiro
好點子。這是從以前的實施中遺留下來的。謝謝! –