Java如何使用正则表达式截取指定字符串之间的内容呢?

书欣 Java经验 发布时间:2022-09-06 15:34:40 阅读数:4035 1
下文笔者讲述使用正则表达式截取字符串的方法分享,如下所示
实现思路:
    1.定义指定的正则表达式
	2.匹配指定字符,find查找匹配后的结果 
package com.java265;
import java.util.list;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
/**
 * 正则表达式匹配两个字符串之间的内容 
 */
public class RegexUtil {
	
	public static void main(String[] args) {
		String str = "<java265>ererere</java265>"; 
		String rgex = "<java265>(.*?)</java265>";
		
	    System.out.println((new RegexUtil()).getSubUtil(str,rgex)); 
	    List<String> lists = (new RegexUtil()).getSubUtil(str,rgex);
	    for (String string : lists) {
			System.out.println(string);
		}
	    System.out.println((new RegexUtil()).getSubUtilSimple(str, rgex));  
	}
	
	/** 
     * 正则表达式匹配两个指定字符串中间的内容 
     * @param soap 
     * @return 
     */  
    public List<String> getSubUtil(String soap,String rgex){  
        List<String> list = new ArrayList<String>();  
        Pattern pattern = Pattern.compile(rgex);// 匹配的模式  
        Matcher m = pattern.matcher(soap);  
        while (m.find()) {  
            int i = 1;  
            list.add(m.group(i));  
            i++;  
        }  
        return list;  
    }  
      
    /** 
     * 返回单个字符串,若匹配到多个的话就返回第一个,方法与getSubUtil一样 
     * @param soap 
     * @param rgex 
     * @return 
     */  
    public String getSubUtilSimple(String soap,String rgex){  
        Pattern pattern = Pattern.compile(rgex);// 匹配的模式  
        Matcher m = pattern.matcher(soap);  
        while(m.find()){  
            return m.group(1);  
        }  
        return "";  
    }  
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202209/16624497154350.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者