如果要在构造正则表达式时指定出现次数,则可以使用量词。下表列出了Java正则表达式支持的量词-
量词 | 描述 | 例 |
---|---|---|
回覆* | 零次或多次出现。 | [0-9] *:匹配0或多个数字。 |
回覆? | 一种或完全没有发生。 | [0-9] ?:匹配0或1位数字。 |
重新+ | 一个或多个事件。 | [0-9] +:匹配一位或多位数字。 |
重新{n} | n次出现。 | [0-9] {3}:匹配3位数字。 |
重新{n,} | 至少出现n次。 | [0-9] {3,}:至少匹配3位数字。 |
re {n,m} | 至少出现n次,最多出现m次。 | [0-9] {2,5}:如果给定输入是3到5位数字,则匹配。 |
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main( String args[] ) {
String regex = "[0-9]{3,6}";
Scanner sc = new Scanner(System.in);
System.out.println("Enter 5 input strings: ");
String input[] = new String[5];
for (int i=0; i<5; i++) {
input[i] = sc.nextLine();
}
//创建一个Pattern对象
Pattern p = Pattern.compile(regex);
System.out.println("Matched values: ");
for(int i=0; i<5;i++) {
//创建一个Matcher对象
Matcher m = p.matcher(input[i]);
if(m.matches()) {
System.out.println(m.group()+": accepted ");
}
}
}
}
输出结果
Enter 5 input strings:
12
154
4587
478365
4578952
Matched values:
154: accepted
4587: accepted
478365: accepted