一般有如下步骤使用正则表达式
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);");
}


}


}

}