如果要在构造正则表达式时指定出现次数,则可以使用量词。下表列出了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