正则表达式例子

第一步:

 

1.例子:

import java.util.LinkedList;
import java.util.List;
import java.util.StringTokenizer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class Test {

	/**
	 * 正则表达式
	 */
	public static void main(String[] args) {
		
		//替代字符串
		System.out.println("=============替代字符串=============");
		String messageReplace = "我是一个大帅哥,帅哥,哥";
		Pattern patterReplace = Pattern.compile(",");
		messageReplace = patterReplace.matcher(messageReplace).replaceAll(",");
		System.out.println(messageReplace);
		
        //截取字符串
		System.out.println("=============截取字符串=============");
		String messageCut = "expected:哥 expected:哥 but was:帅哥but was:帅哥";
        Pattern patterCut1 = Pattern.compile("(expected:)(.*?)(but was:)(.*)");
        Pattern patterCut2 = Pattern.compile("(expected:)(.*)(but was:)(.*)");
		Matcher match1 = patterCut1.matcher(messageCut);
		if(match1.find()){
			System.out.println((match1.group(2)));
			System.out.println(match1.group(4));
		}
		Matcher match2 = patterCut2.matcher(messageCut);
		if(match2.find()){
			System.out.println((match2.group(2)));
			System.out.println(match2.group(4));
		}
		
		//分割字符串
		System.out.println("=============分割字符串=============");
		String messageSplit = "(1,2,3),(4,5,6,7),(8,9,10)";
        List<List<Object>> paramList = new LinkedList<List<Object>>();
		Pattern patternSplit = Pattern.compile("(\\()(.*?)(\\))");
		Matcher match = patternSplit.matcher(messageSplit);
		while (match.find()) {
			List<Object> list = new LinkedList<Object>();
			String strList = match.group(2);
			StringTokenizer st = new StringTokenizer(strList,",");
			while (st.hasMoreElements()) {
				Object param = st.nextElement();
				list.add(param);
			}
			paramList.add(list);
		}
		System.out.println(paramList);
	}

}

 

2.运行结果:

 

参考资料:

1.http://www.iteye.com/topic/603554

2.http://www.iteye.com/topic/1127566

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值