mystyle-java-fx-tools/src/main/java/com/zhangmeng/tools/languages/ProcessSql.java

51 lines
2.4 KiB
Java
Raw Normal View History

2023-06-08 09:44:15 +00:00
package com.zhangmeng.tools.languages;
import java.util.regex.Pattern;
/**
* @author :
* @version : 1.0
* @date : 2023-06-01 11:01
*/
public class ProcessSql {
public static final String[] HTMLKEYWORDS = new String[] {
"CREATE","create", "drop", "DROP", "INSERT","insert",
"SELECT", "select","UPDATE","update","DELETE","delete", "FORMAT", "SUM","DATE",
2023-06-12 09:13:02 +00:00
"CONSTRAINT","FOREIGN","REFERENCES","DEFAULT","NULL"
2023-06-08 09:44:15 +00:00
};
public static final String[] HTMLKEYWORDS2 = new String[] {
2023-06-12 09:13:02 +00:00
"use", "IF", "if", "PRIMARY","KEY","UNIQUE", "FROM", "from","order","group","INNER","JOIN","ON","values","ALTER","SHOW","into",
"by","INTO","VALUES","WHERE","where","SET","set","LIKE","like","UNION","ORDER","BY","GROUP","EXISTS","TABLE","table",
"COUNT", "SUM", "AVG", "MIN", "MAX"
2023-06-08 09:44:15 +00:00
};
public static final String HTMLKEYWORDS_PATTERN = "\\b(" + String.join("|", HTMLKEYWORDS) + ")\\b";
public static final String HTMLKEYWORDS_PATTERN2 = "\\b(" + String.join("|", HTMLKEYWORDS2) + ")\\b";
public static final String PAREN_PATTERN = "\\(|\\)";
public static final String BRACE_PATTERN = "\\{|\\}";
public static final String BRACKET_PATTERN = "\\[|\\]";
public static final String SEMICOLON_PATTERN = "\\;";
public static final String STRING_PATTERN = "\"([^\"\\\\]|\\\\.)*\"";
public static final String COMMENT_PATTERN = "//[^\n]*" + "|" + "/\\*(.|\\R)*?\\*/";
public static final String ANNOTATION_PATTERN = "@[a-zA-Z]+";
public static final String PARAMS_PATTERN = "\\\\b([a-zA-Z]+)\\\\s*=\\\\s*([a-zA-Z0-9]+)\\\\b";
public static final String METHOD_PATTERN = "\\w+\\((\\w+,\\s*)*\\w*\\)";
public static final Pattern PATTERN = Pattern.compile(
"(?<HTMLKEYWORDS>" + HTMLKEYWORDS_PATTERN + ")"
+ "|(?<PAREN>" + PAREN_PATTERN + ")"
+ "|(?<BRACE>" + BRACE_PATTERN + ")"
+ "|(?<BRACKET>" + BRACKET_PATTERN + ")"
+ "|(?<SEMICOLON>" + SEMICOLON_PATTERN + ")"
+ "|(?<STRING>" + STRING_PATTERN + ")"
+ "|(?<COMMENT>" + COMMENT_PATTERN + ")"
+ "|(?<ANNOTATION>" + ANNOTATION_PATTERN + ")"
+ "|(?<PARAMS>" + PARAMS_PATTERN + ")"
+ "|(?<METHOD>" + METHOD_PATTERN + ")"
+ "|(?<HTMLKEYWORDS2>" + HTMLKEYWORDS_PATTERN2 + ")"
);
}