Pattern
define a pattern
String regex = "(\\d+)(123)(\\.)([0-9]*)";
Pattern pattern = Pattern.compile(regex);
Matcher
group是针对()来说的,group(0)就是指的整个串,group(1) 指的是第一个括号里的东西,group(2)指的第二个括号里的东西
example 1
public class Main {
public static void main(String[] args) {
String regex = "(\\d+)(123)(\\.)[0-9]*";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher("123123.123");
System.out.println(matcher.groupCount());
if(matcher.find()){
for (int i = 0; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i);
System.out.println(matcher.group(i));
}
}
}
}
Output1
3
Group 0
123123.123
Group 1
123
Group 2
123
Group 3
.
example 2
public class Main {
public static void main(String[] args) {
String regex = "(\\d+)(123)(\\.)([0-9]*)";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher("123123.123");
System.out.println(matcher.groupCount());
if (matcher.find()) {
for (int i = 0; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i);
System.out.println(matcher.group(i));
}
}
}
}
Output2
4
Group 0
123123.123
Group 1
123
Group 2
123
Group 3
.
Group 4
123