我就废话不多说了,大家还是直接看代码吧~
1
2
3
4
5
6
7
8
9
10
11
12
|
String str = "哈哈<font color='red'>1111</font>还是你牛<font color='red'>11111</font> " ;
String regStr = "<font color='red'>(.*?)</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);
}
|
结果:
1
2
3
|
1111
11111
哈哈***还是你牛***
|
使用Java正则获取指定字符前或者后数据:
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
<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
2
3
4
|
1
12
100
12334
|
以上这篇Java利用正则取标签之间的数据就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/lipr86/article/details/90906311