java - Regex doesn't work in String.matches() -
i have small piece of code
string[] words = {"{apf","hum_","dkoe","12f"}; for(string s:words) {     if(s.matches("[a-z]"))     {         system.out.println(s);     } }   supposed print
dkoe   but prints nothing!!
welcome java's misnamed .matches() method... tries , matches input. unfortunately, other languages have followed suit :(
if want see if regex matches input text, use pattern, matcher , .find() method of matcher:
pattern p = pattern.compile("[a-z]"); matcher m = p.matcher(inputstring); if (m.find())     // match   if want indeed see if input has lowercase letters, can use .matches(), need match 1 or more characters: append + character class, in [a-z]+. or use ^[a-z]+$ , .find().
Comments
Post a Comment