_6_4_正则表达式

package _6_4_正则表达式;

public class _6_4_Example_1 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		
		//判断字符串是否合法
		String s1="Mrkj007";
		String s2="mrkj007";
		boolean bn1=s1.matches("\\p{Upper}\\p{Lower}\\p{Lower}\\p{Lower}\\d\\d\\d");       
		boolean bn2=s2.matches("\\P{Upper}\\P{Lower}\\P{Lower}\\P{Lower}\\d\\d\\d");
		System.out.println("s1是合法数据吗? "+bn1);
		System.out.println("s2是合法数据吗?"+bn2);
		
		//正则表达式的限定符
		String regex="\\w{0,}\\@\\w{0,}\\.{1}\\w{0,}";
		String str1="aaa@";
		String str2="aaaa";
		String str3="[email protected]";
		if(str1.matches(regex)){
			System.out.println(str1+"是一个Email地址格式");
		}
		if(str2.matches(regex)){
			System.out.println(str2+"是一个Email地址格式");
		}
		if(str3.matches(regex)){
			System.out.println(str3+"是一个Email地址格式");
		}
		else{
			System.out.println("都不是Email地址格式");
		}
		
		//方括号中元字符的含义
		String telephone1="11024588795";
		String telephone2="15044268138";
		System.out.println(check(telephone1));
		System.out.println(check(telephone2));
	}
	
	public static String check(String handset){
		String regex="1[3,5,8]\\d{9,}$";//定义正则表达式$是字符串的结尾标示符
		if(handset.matches(regex)){//测试匹配结果
			return handset+"\n是合法的手机号码";
		}
		else{
			return handset+"\n不是合法的手机号码";
		}
	}
}
package _6_4_正则表达式;

public class _6_4_Example_2 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根

		//验证IP地址的合法性
		String ip="192.168.1.1";
		System.out.println(check(ip));
	}
	
	public static String check(String text){
		if(text!=null&&!text.isEmpty()){//空格?????????
			String regex="(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."
					    +"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
					    +"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
					    +"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$";
			if(text.matches(regex)){
				return text+"\n是一个合法的IP地址";
			}
			else{
				return text+"\n不是一个合法的IP地址";
			}
		}
		return "请输入要验证的IP";
	}

}
package _6_4_正则表达式;

import java.util.regex.Pattern;

public class _6_4_Example_3 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		
		//计算文章中汉字的个数
		String text="今天天气蛮好的so nice 啦。";
		int amount=0;
		for(int i=0;i<text.length();i++){
			boolean matches=Pattern.matches("^[\u4E00-\u9FA5]{0,}$", ""+text.charAt(i));
			if(matches){
				amount++;
			}
		}
		System.out.println(text+"\n中有几个汉字:"+amount);
	}

}

猜你喜欢

转载自jia-shun.iteye.com/blog/2103211