String str = "[color=red]17-0[/color]_117-0_[color=red]17-0[/color]"
现在想根据17-0匹配红色的2个17-0,不知道怎么写.
[^(A1-A2)_|_(A1-A2)_|_(A1-A2)$] 这样应该能匹配到所有你想要找到的A1-A2然后再一次分离就好了,或者让 Z1_Z2组合这样跟找到的A1-A2替换了。
直接用正则好象不行。你可以等等别人的回答。
[code="java"]
// [1][7-0]{3}会匹配。
String str = "[color=red]17-0[/color]_1[color=red]17-0[/color]_[color=red]17-0[/color]"
[/code]
我的建议是用下划线分成三组,每一组来与正则进行判断
[code="java"]
public class StringTest {
public static void main(String[] args) {
String str = "17-0_117-0_17-0";
String[] array = str.split("_");
for (int i = 0; i < array.length; i++) {
if (array[i].matches("[1][7\\-0]{3}")) {
System.out.println(array[i]);
}
}
}
}
[/code]
不知道这样行不行。
1.// [1][7-0]{3}会匹配。
2.String str = "[color=red]17-0[/color]_1[color=red]17-0[/color]_[color=red]17-0[/color]"
你看一下,这样合不合你的要求
[code="java"]
String line = "A1-A2_B1-B2_C1-C2_A1-D1_A2-D2";
line = line.replaceAll("A1", "Z1");
line = line.replaceAll("A2", "Z2");
System.out.println(line);
[/code]
如果是指写xx-xx
那就是
[code="java"]
String line = "A1-A2_B1-B2_C1-C2_A1-D1_A2-D2";
line = line.replaceAll("A1-A2", "Z1-Z2");
System.out.println(line);
[/code]