Java利用正则取标签之间的数据

网友投稿 217 2023-03-25

Java利用正则取标签之间的数据

我就废话不多说了,大家还是直接看代码吧~

String str = "哈哈1111还是你牛11111 ";

String regStr = "(.*?)";

Pattern pattern = PatteSaiQworn.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正则获取指定字符前或者后数据:

代码如下:

//字符串截取

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第三个).OCHhttp://";

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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:手机号实名 (手机号实名认证信息查询)(2分钟之前已更新)
下一篇:数独生成器 (数独答案生成器)(3分钟之前已更新)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~