以下のコードの、test.matches("^[0-9]+$");
とtest.matches("[0-9]*");
の違いについて、お聞きしたいです。
public class Main { public static void main(String[] args) { System.out.println("hello, world!"); String test = "a"; boolean a = test.matches("^[0-9]+$"); boolean b = test.matches("[0-9]*"); System.out.println(a); System.out.println(b); } }
Qiitaで正規表現について調べていたのですが、「*」は0回以上を表しているかと思うのですが、そうであった場合、0-9が含まれていなくてもfalseにはならないのではないかといった疑問と、「^」と「$」は付けていても付けなくても同じではないかといった疑問が湧きました。
こちらの違いについて、どなたかご助言頂けましたら幸いです。
回答1件
あなたの回答
tips
プレビュー