#基于状态机思想实现解析HTML TAG ,后续有时间的话尝试写一个JSON解析工具。
import java.util.HashMap;
import java.util.Map;
public class TagParser {
private Integer index = 0;
private char[] tagChar;
private int position = 0;
/* 解析符号 */
private char symbol = '"';
public static final String START_SCRIPT = "
public static final String END_SCRIPT = ">";
public static final String END_SCRIPT_1 = "/>";
public static final String EQ = "=";
public static final char SPACE = ' ';
public static final String MUST_SPACE = " ";
public static final String TAB = "";
public static final String SYMBOL = "'";
private DFAStatus status;
private Map map = new HashMap();
private Map result = new HashMap();
private String tagName;
public String getTagName() {
return this.tagName;
}
public static void main(String[] args) throws SymbolError {
String tag = "";
int i = 0;
long start = System.currentTimeMillis();
while (i < 2) {
TagParser token = new TagParser(tag);
token.parser();
System.out.println(token.getAttr("src") + "|" + token.getTagName());
i++;
}
System.out.println("use time:" + (System.currentTimeMillis() - start));
}
private boolean startsWith(String str) {
char[] c