ฉันมีโค้ดเล็ก ๆ นี้
String[] words = {"{apf","hum_","dkoe","12f"};
for(String s:words)
{
if(s.matches("[a-z]"))
{
System.out.println(s);
}
}
ควรพิมพ์
dkoe
แต่มันไม่มีอะไรพิมพ์ !!
matchesจะมองหาสิ่งที่เกิดขึ้น[a-z]แล้วมันควรจะตรงกับพวกเขาทั้งหมดหรือไม่ ฉันจะไม่คาดหวังว่าmatchesจะตรวจสอบตัวละครแต่ละตัวทุกตัวกับ regex
matchesวาง ^ ไว้ที่จุดเริ่มต้นและ $ ที่ท้าย regexes สำหรับคุณ ดังนั้นmatches("[a-z]")จริง ๆ แล้วจะค้นหา / ^ [az] $ / แทน