温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何利用Java中的正则获取标签的数据

发布时间:2020-11-09 15:39:54 来源:亿速云 阅读:309 作者:Leah 栏目:开发技术

这期内容当中小编将会给大家带来有关如何利用Java中的正则获取标签的数据,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

String str = "哈哈<font color='red'>1111</font>还是你牛<font color='red'>11111</font> ";
String regStr = "<font color='red'>(.*&#63;)</font>";
Pattern pattern = Pattern.compile(regStr);
if(str != null){
 Matcher m = pattern.matcher(str);
 while(m.find()){
    String group = m.group(1);
 System.out.println(group);
 str = str.replaceAll(regStr, "***");
 }
 System.out.println(str);
}

结果:

1111
11111
哈哈***还是你牛*** 

补充知识:java正则获取字符前后数据

使用Java正则获取指定字符前或者后数据:

代码如下:

<pre name="code" class="java">public class RegTest {
 
	//字符串截取
	public static String regComp(String item) {
		String num = "";
		// 替换中文
		String reg = "[\\u4e00-\\u9fa5]+";
		//截取λ|入后面数字
		String comp1 = "[\\s\\S]*([λ|入]\\d*)[\\s\\S]*";
		//截取波|第前面数字
		String comp2 = "(\\d+[波|第])";
		if (item.matches(comp1)) {
			num = item.replaceFirst(comp1, "$1").replaceAll(reg, "").replace("λ", "");
		} else {
			Pattern p = Pattern.compile(comp2);
			Matcher m = p.matcher(item);
			if (m.find()) {
				num = m.group(1).replaceAll(reg, "");
			}
		}
		return num;
	}
 
 
	/**
	 * @Description: TODO(这里用一句话描述这个类的作用)
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
 
		String str1 = "石家庄(至郑州)架1-2-23-OTU3S-1(OTU3S 1波).OCH)";
		String str3 = " 北京东四1-1-4D-OTU3S-1(OTU3S 100第三个).OCH";
		String str2 = " 北京东四1-1-4D-OTU3S-1(OTU3S 入12).OCH";
		String str4 = " 北京东四1-1-4D-OTU3S-1(OTU3S λ12334).OCH";
		String[] array = { str1, str2, str3,str4 };
 
		for (int i = 0; i < array.length; i++) {
			//测试
			String num = regComp(array[i]);
			System.out.println(num);
		}
	}
} 

输出结果:

1
12
100
12334

上述就是小编为大家分享的如何利用Java中的正则获取标签的数据了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI