パターンマッチングを行うJavaプログラムが2つあります。
プログラム - 1
public class test {
public static void main(String[] args) {
Pattern p = Pattern.compile("\\d*");
Matcher m = p.matcher("ab34ef");
boolean b = false;
while (b = m.find()){
System.out.println(m.start());
System.out.println(m.group());
}
}
}
出力:
0
1
2
34
4
5
6
プログラム - 2
public class test {
public static void main(String[] args) {
Pattern p = Pattern.compile("Dog");
Matcher m = p.matcher("This is a Dog and Dog name is Tommy");
boolean b = false;
while (b = m.find()){
System.out.println(m.start());
System.out.println(m.group());
}
}
}
出力-
10
Dog
18
Dog
誰かがこれらの両方のケースで正規表現がどのように機能するかを説明できますか?