18.0正则表达式

package study;

import java.util.Scanner;

//正则表达式
public class exercise {
	public static void main(String[] args) {
		Scanner e=new Scanner(System.in);
//		[]   1个字符
		String r1="[abc]";
		System.out.println("根据格式输入:"+r1+"只能输入[]内的其中一个字符");
		String n1=e.nextLine();
		if(n1.matches(r1)) {
			System.out.println("输入正确");
		}else {
			System.out.println("输入错误");
		}
//		-   表范围 
		String r2="[a-z]";
		System.out.println("根据格式输入:"+r2+"输入[]内范围的其中一个字符");
		String n2=e.nextLine();
		if(n2.matches(r2)) {
			System.out.println("输入正确");
		}else {
			System.out.println("输入错误");
		}
		
//		\d	1个数字
		String r3="[\\d]";//	'\'为转义字符,'\\d'才表示为'\d'
		System.out.println("根据格式输入:"+r3+"输入一个数字");
		String n3=e.nextLine();
		if(n3.matches(r3)) {
			System.out.println("输入正确");
		}else {
			System.out.println("输入错误");
		}
		
//		\D 1个非数字
		String r4="[\\D]";//	'\'为转义字符,'\\D'才表示为'\D'
		System.out.println("根据格式输入:"+r4+"输入一个非数字");
		String n4=e.nextLine();
		if(n4.matches(r4)) {
			System.out.println("输入正确");
		}else {
			System.out.println("输入错误");
		}
		
//		^  表示否定,要在[]里面使用
		String r5="[^b-g]";//	
		System.out.println("根据格式输入:"+r5+"输入不是b-g的字符");
		String n5=e.nextLine();
		if(n5.matches(r5)) {
			System.out.println("输入正确");
		}else {
			System.out.println("输入错误");
		}
		
//		\w 一个字母,数字或下划线
		String r6="[\\w]";//	'\'为转义字符,'\\w'才表示为'\w'
		System.out.println("根据格式输入:"+r6+"输入一个字母,数字或下划线");
		String n6=e.nextLine();
		if(n6.matches(r6)) {
			System.out.println("输入正确");
		}else {
			System.out.println("输入错误");
		}
		
//		\W 一个字母,数字或下划线
		String r7="[\\W]";//	'\'为转义字符,'\\w'才表示为'\w'
		System.out.println("根据格式输入:"+r7+"输入一个不是字母,数字或下划线");
		String n7=e.nextLine();
		if(n7.matches(r7)) {
			System.out.println("输入正确");
		}else {
			System.out.println("输入错误");
		}
		
//		* 输入前面表达式的0次或多次
		String r8="[\\d]*";
		System.out.println("根据格式输入:"+r8+"输入0个或多个数字");
		String n8=e.nextLine();
		if(n8.matches(r8)) {
			System.out.println("输入正确");
		}else {
			System.out.println("输入错误");
		}
		
//		+ 输入前面表达式的1次或多次
		String r9="[\\w]+";
		System.out.println("根据格式输入:"+r9+"输入一个或多个一个字母,数字或下划线");
		String n9=e.nextLine();
		if(n9.matches(r9)) {
			System.out.println("输入正确");
		}else {
			System.out.println("输入错误");
		}
//		? 输入前面表达式的0次或1次
		String r10="[\\w]?";
		System.out.println("根据格式输入:"+r10+"输入0个或1个字母,数字或下划线");
		String n10=e.nextLine();
		if(n10.matches(r10)) {
			System.out.println("输入正确");
		}else {
			System.out.println("输入错误");
		}
		
//		{n} 匹配多少次
		String r11="ab[\\d]{3}";
		System.out.println("根据格式输入:"+r11+"输入ab和3个数字");
		String n11=e.nextLine();
		if(n11.matches(r11)) {
			System.out.println("输入正确");
		}else {
			System.out.println("输入错误");
		}
//		{n,m} 至少匹配n次且最多匹配m次
		String r12="ab[\\d]{3,5}";
		System.out.println("根据格式输入:"+r12+"输入ab和3到5个数字");
		String n12=e.nextLine();
		if(n12.matches(r12)) {
			System.out.println("输入正确");
		}else {
			System.out.println("输入错误");
		}
	}

}

上一篇:next()nextLine()以及nextInt()的区别及用法【转载】


下一篇:键盘录入