public class StrBoundaryMatch{
public static void main(String[] args){
String str = "" +
" " +
"xmlns:impl=\"http://tips.cf\" xmlns=\"http://tips.cf\""+
"xmlns:apachesoap=\"http://xml.apache.org/xml-soap\"";
//匹配 标签的正确性
// <\?xml.*\?>
Pattern p = Pattern.compile("<\\?xml.*\\?>");
Matcher m = p.matcher(str); //<\?xml.*\?>
System.out.println(p.pattern());
while (m.find()){
System.out.println(m.group());
//
System.out.println();
String str2 = "This is bad, real bad!" +
"" +
" " +
"xmlns:impl=\"http://tips.cf\" xmlns=\"http://tips.cf\""+
"xmlns:apachesoap=\"http://xml.apache.org/xml-soap\"";
//这段作为 .xml 文件内容时候是有问题的,"This is bad, real bad!" 应该作为注释
//此时进行模式匹配的时候,希望做到的是,xml 文件以 开头,其他开头的都是错误的
// ^\s*<\?xml.*\?>
p = Pattern.compile("^\\s*<\\?xml.*\\?>");
m = p.matcher(str2);
System.out.println(m.find()); //false
//此时对 str 进行模式匹配
m = p.matcher(str);
while (m.find()){ //true
System.out.println(m.group());
//
//已经匹配到了合法的内容
System.out.println();
//一个 xml 文件的结尾一定是