Java中利用正则表达式截取指定字符串之间的内容

需求:想截取某个字符串中*****的值,可能有0个或多个****;

代码:

package com.accord.test;

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

public class B {
	public static void main(String[] args) {
		
		String returnXml = "单据  16613dd7d9a00000000000000000000vouchergl0  开始处理...单据  16613dd7d9a00000000000000000000vouchergl0  处理完毕!"
				+ ""
				+ "2018.09-记账凭证-5"
				+ "16613dd7d9a00000000000000000000vouchergl0"
				+ "vouchergld861102.xml1"
				+ "单据  16613dd7d9a00000000000000000000vouchergl0  开始处理...单据  16613dd7d9a00000000000000000000vouchergl0  处理完毕!"
				+ ""
				+ "2018.09-记账凭证-6";
		String regex = "(.*?)";
		List list = new ArrayList();
		List extvounoLists = new ArrayList();
		Pattern pattern = Pattern.compile(regex);
		Matcher m = pattern.matcher(returnXml);
		while (m.find()) {  
            int i = 1;  
            list.add(m.group(i));  
            i++;  
        } 
		for (String str : list) {
			System.out.println(str);
			String[] strs = str.split("-");
			String strss = strs[strs.length-1];
			extvounoLists.add(strs[strs.length-1]);
		}
		
		for (String string : extvounoLists) {
			System.out.println(string);
		}
	}
}

 

你可能感兴趣的:(正则表达式)