1、提取中括号内容
packagezz.test;
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
publicclassTest {
publicstaticvoidmain(String[]args)throwsException {
Stringcontent="[BF0001][交易失败]";
Stringreg="\\[(.*?)\\]";
Patternpattern= Pattern.compile(reg);
Matchermatcher=pattern.matcher(content);
while(matcher.find()) {
Stringsrc=matcher.group(1);
System.out.println(src);
}
}
}
输出:
BF0001交易失败
2、提取小括号内容
packagezz.test;
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
publicclassTest {
publicstaticvoidmain(String[]args)throwsException {
Stringcontent="src: local("Open Sans Light"), local("OpenSans-Light"), url(/s/opensans/a.woff2) format("woff2")";
// 从内容上截取路径数组
Patternpattern= Pattern.compile("(?<=\\()[^\\)]+");
Matchermatcher=pattern.matcher(content);
while(matcher.find()) {
System.out.println(matcher.group());
}
}
}
输出:
"Open Sans Light""OpenSans-Light"/s/opensans/a.woff2"woff2"
3、获取获取大括号小括号内容
packagezz.test;
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
publicclassTest {
publicstaticvoidmain(String[]args)throwsException {
Stringdakuohao="{a+b}={c+d}>{d}";
Patterncompile= Pattern.compile("\\{([^}]*)\\}");
Matchermatcher=compile.matcher(dakuohao);
while(matcher.find()) {
Stringgroup=matcher.group(1);
System.out.println(group);
}
}
}
输出:
a+bc+dd
4、获取指定HTML标签的指定属性的值
packagezz.test;
importjava.util.ArrayList;
importjava.util.List;
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
publicclassTest {
publicstaticvoidmain(String[]args)throwsException {
Stringsource="<link rel=\"shortcut icon\" href=\"/favicon.ico\" />";
List<String>res=matchHtmlAttr(source,"link","href");
System.out.println(res);
}
publicstaticList<String> matchHtmlAttr(Stringsource, Stringelement, Stringattr) {
List<String>result=newArrayList<String>();
Stringreg="<"+element+"[^<>]*?\\s"+attr+"=["\"]?(.*?)["\"]?(\\s.*?)?>";
Matcherm= Pattern.compile(reg).matcher(source);
while(m.find()) {
Stringr=m.group(1);
result.add(r);
}
returnresult;
}
}
输出:
[/favicon.ico]