1 回答
TA贡献1934条经验 获得超2个赞
如果您正在寻找对color/name(按此顺序),您可以使用:(?><col=(?<color>[A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})>)?(?<text>(?><.*?>)?[^<]+)
static void extract(String string) {
Pattern pattern =
Pattern.compile("(?><col=(?<color>[A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})>)?(?<name>(?><.*?>)?[^<]+)");
Matcher m = pattern.matcher(string);
while (m.find()) {
String color = m.group("color");
String name = m.group("name");
System.out.printf("Color %s, name %s\n", color, name);
}
}
/*
Color null, name something before
Color ff00ff, name mercides> car
Color ffff00, name plates
(?><col=(?<color>[A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})>)?
是颜色,以六字符开始<col
和结束,它是可选的,所以最后有一个>
?
(?<text>(?><.*?>)?[^<]+)
名称组,可以有另一个应答器,但最后一个字符可以是<
添加回答
举报