六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 75|回复: 0

正则表达式例子

[复制链接]

升级  96%

10

主题

10

主题

10

主题

童生

Rank: 1

积分
48
 楼主| 发表于 2013-2-3 14:40:02 | 显示全部楼层 |阅读模式
第一步:
 
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
 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表