java正则表达式的一个例子

来源:互联网 发布:嗅探软件下载 编辑:程序博客网 时间:2024/05/01 11:19

一般有如下步骤使用正则表达式
1、读取文本
一般非常长的文本才需要正则表达式,两行的话,等于大炮打蚊子,正则是越多越好,那么就必须存在其他文件中,例如txt或者数据库。
2、撰写正则表达式
最核心的一个部分,就是撰写表达式获取自己需要的内容
3、拼接
这个是后续的维护服务,一般使用正则表达式是将里面的数据取出来,并且加上自己的一些字符拼接,成为语句等等,例如sql。

例子:

package com.javaer.test;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.List;import java.util.regex.Matcher;import java.util.regex.Pattern;public class GetItem {    public static void main(String[] args) throws Throwable, Throwable {        //文件地址        String filePath = "/Users/admin/item.txt";        File file=new File(filePath);        InputStreamReader read = new InputStreamReader(                new FileInputStream(file),"UTF-8");//考虑到编码格式        BufferedReader bufferedReader = new BufferedReader(read);        List<String> list = new ArrayList<String>();        String lineTxt ="";        while((lineTxt = bufferedReader.readLine()) != null){            list.add(lineTxt);        }        read.close();        int id = 200;        for(int i =0;i<list.size();i++){            String expresstion = list.get(i);            String code = "";            String marketType = "";            id++;            //读出第一个参数            Pattern pattern1 = Pattern.compile("ItemAttr=(.+?),");            Matcher matcher1 = pattern1.matcher(expresstion);            if(matcher1.find()){                code = matcher1.group(1);            }            //读出第二个参数            pattern1 = Pattern.compile("marketTypes=\\[(.+?)\\]");            matcher1 = pattern1.matcher(expresstion);            if(matcher1.find()){                marketType = matcher1.group(1);            }            //构造SQL表达式,构造结果            if(code.length()>0 && !marketType.contains(",")){                System.out.println("insert into table values("+id+",'2015-08-29 16:18:56','2015-08-29 16:18:56',"                        + "'"+code+"','"+code+"','memo',1,1,1,1,'jianghuiwen','jianghuiwen',0);");                System.out.println("insert into table values(null,'2015-08-29 16:26:23','2015-08-29 16:26:23',3,'"+marketType+"',"+id+",2,1);");            }        }    }}
0 0
原创粉丝点击