javaで正規表現の質問です。
String S = "abcdef"; Pattern pattern = Pattern.compile("[a-z]"); Matcher matcher = pattern.matcher(S);
というようなプログラムでSがすべて小文字かどうかを調べたいとき、
Pattern.compile("[a-z]");
の[a-z]では、一文字だけしか調べてくれないでしょうか?
Pattern.compile("^[a-z]+$");
とすると、^[a-z]+$で、^が先頭を表し、+が1回以上の繰り返し、$が末尾を表すと思うので、^[a-z]+$だと一文字以上の小文字を調べてくれるでしょうか?
一文字の小文字、または一文字以上の小文字の文字列を表したい場合は
Pattern.compile("^[a-z]*$");
として、^[a-z]*$で、*を用いれば0回以上の繰り返しを表すので、一文字も調べてくれるし、文字列も調べてくれる、という理解で良いでしょうか?
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー