java 正则表达式

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class CreateInsertSql {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
 	    pattern1();
 	    //pattern2();
		//pattern3();
		//pattern4();
		//pattern5();
		//pattern6();
        //pattern8();
	}
    
	//字符匹配
	public static void pattern1(){
		Pattern pattern = Pattern.compile("^a.*d{1}quot;);
		Matcher matcher = pattern.matcher("abcd") ;
		System.out.println(matcher.matches()+":::::::::::::::::::");
	}
	
	//字符串分隔
	public static void pattern2(){
		Pattern pattern = Pattern.compile("[, |]");
		String[] strs = pattern.split("qtone hello,the |best company");
		for(String s:strs){
			System.out.println(s+":::::::::::::::::::");
		}
	}
	
	//文本替换
	public static void pattern3(){
		Pattern pattern = Pattern.compile("正则表达式");
		Matcher matcher = pattern.matcher("正则表达式qtone正则表达式sutk,tt") ;
		System.out.println(matcher.replaceFirst("java")+":::::::::::::::::::"+matcher.replaceAll("java"));
	}
	
	//字符置换
	public static void pattern4(){
		Pattern pattern = Pattern.compile("正则表达式");
		Matcher matcher = pattern.matcher("正则表达式qtone正则表达式sutk,tt") ;
		StringBuffer sb = new StringBuffer();
		while(matcher.find()){
			matcher.appendReplacement(sb, "java");
		}
		matcher.appendTail(sb);
		System.out.println(sb.toString()+":::::::::::::::");
	}
	
	//匹配是否邮箱地址
	public static void pattern5(){
		String str = "573471343@qq.com";
		Pattern pattern = Pattern.compile("[\\w\\.\\-]+@(\\w\\.\\-)+[\\w\\-]+",Pattern.CASE_INSENSITIVE);
		Matcher matcher = pattern.matcher(str) ;
		System.out.println(matcher.matches()+":::::::::::::::::::");
	}
	
	//匹配HTML标记
	public static void pattern6(){
		Pattern pattern = Pattern.compile("<.+?>",Pattern.DOTALL);
		String str = "<a href=\"index.html\">主页</a>";
		Matcher matcher = pattern.matcher(str) ;
		System.out.println(matcher.replaceAll("")+":::::::::::::::::::");
	}
	
	//贪婪 greedy、惰性 reluctant、支配匹配 possessive
	public static void pattern7(){
		String  patternZP = ".*+bbb";//支配型,一次性读取所有的字符,如果匹配不了,不再匹配
		String  patternTN = ".*bbb"; //贪婪型,一次性读取所有的字符,如果匹配不了,从最后开始少读一个字符,再匹配
		String  patternDX = ".*?bbb"; //惰性型,从开始字符匹配,如果匹配成功 保存结果,并从下一个位置重新开始
		Pattern pattern = Pattern.compile(patternZP);
		String str = "abbbaabbbaaabbb1234";
		Matcher matcher = pattern.matcher(str) ;
		while(matcher.find()){
			System.out.println(":::::::::::::::::::"+matcher.group());			
		}
	}
	
	//截取http地址
	public static void pattern8(){
		Pattern pattern = Pattern.compile("(http://|https://){1}[\\w\\.\\-/:]+");
		String str = "http://developer.51cto.com/art/200902/110238_2.htm";
		Matcher matcher = pattern.matcher(str) ;
		StringBuffer sb = new StringBuffer();
		while(matcher.find()){
			sb.append(matcher.group());
		}
		System.out.println(sb.toString()+":::::::::::::::::::"+matcher.matches());
	}
}

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值