我就废话不多说了,大家还是直接看代码吧~
String str = "哈哈1111还是你牛11111 ";
String regStr = "(.*?)";
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正则获取指定字符前或者后数据:
代码如下:
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; } 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利用正则取标签之间的数据就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持考高分网。



